Canceling one or more instances of a multi instance user task

I have modeled a multi-instance user task in my BPMN. I specify the instances to create by an EL expression that evaluates to a Collection of String. Suppose I create 5 instances that gives 5 users the ability to perform the individual task instances. Now, let us say that it is decided that one of these instance tasks no longer needs to be performed. Is it possible to programmatically (through the Java API) cancel this instance (so that the task instance is no longer available to the user)? Note that I do not want to cancel other instances of the multi-instance user task. (I know I can cancel the whole multi-instance by attaching a boundary event).
I tried to achieve this by calling TaskService#deleteTask but this does not work. I get an exception saying that I cannot delete a task in a running process instance.
I am also thinking of the Process Instance Modification API but using that API is generally considered a bad practice for normal use cases. I heard that it should only be used for “repairing” stuck workflows.
Can some one please suggest a solution/approach?

Hi @arun,
may be you can look at the subprocesses:
image