// initialise the fifo queue of atomic operations
atomicOperations = new LinkedList<AtomicOperation>();
atomicOperations.offer(operation);
ExecutionContext originalExecutionContext = null;
ExecutionContext executionContext = null;
EnvironmentImpl environment = EnvironmentImpl.getCurrent();
if (environment!=null) {
originalExecutionContext = (ExecutionContext) environment.getContext(Context.CONTEXTNAME_EXECUTION);
if ( (originalExecutionContext!=null)
&& (originalExecutionContext.getExecution()==this)
) {
originalExecutionContext = null;
} else {
executionContext = new ExecutionContext(this);
environment.setContext(executionContext);
}
}
try {