@Override
protected OperationResult doExecute(OperationContext context, Operation operation, OperationHandler operationHandler, ResultHandler resultHandler, PathAddress address,
final OperationControllerContext operationControllerContext) throws OperationFailedException {
boolean rollback = isRollbackOnRuntimeFailure(context, operation.getOperation());
RollbackAwareResultHandler rollbackAwareHandler = new RollbackAwareResultHandler(resultHandler);
final OperationResult result = super.doExecute(context, operation, operationHandler, rollbackAwareHandler, address, operationControllerContext);
if(context instanceof ServerOperationContextImpl) {
if (rollback) {
rollbackAwareHandler.setRollbackOperation(result.getCompensatingOperation());
// TODO deal with Cancellable as well
}
final ServerOperationContextImpl serverOperationContext = ServerOperationContextImpl.class.cast(context);
if(serverOperationContext.getRuntimeTask() != null) {