return new Runnable(){
public void run() {
try{
if(session != null)
session.adoptThread(Thread.currentThread());
UserSecurity.registerThisThread(user);
Transaction.startTransaction();
function.call(PersevereContextFactory.getContext(), scope, null, new Object[]{});
Transaction.currentTransaction().commit();
}catch(Throwable e){