I have the same problem, can anybody illuminate me...??
Options 1 and 2 probably don't work because it is possible to have more than one task associated with a state and token at the same time. executionContext.getTaskInstance() is probably giving you back a new, empty TaskInstance that you could fill in and persist (just guessing).
If you want to know who INITIATED the task(s) you probably need to know the actor who initiated the transition into your current state, since by default, tasks are created upon entry into a task-node.
If you want to know to whom an open task is assigned, or to whom the task was previously assigned, you can either use taskMgmtSession.findTaskInstancesByToken(tokenId) and get the one you want out of the returned list, or use taskMgmtSession.loadTaskInstance(taskInstanceId).
Of course, it would be nice if the API allowed you to load taskInstances by name in some of these cases.
this i a bug of jbpm3.0