If you are using persistence, this doesn't seem as a good idea. because you will keep a dirty version of the session in memory.
In your first post you add this lines:
ksession.getWorkItemManager().completeWorkItem(workItemId, results);
ksession.getWorkItemManager().abortWorkItem(workItemId);
Why are you doing that?