Buggy code:
public class BasicTransactionalModelController extends BasicModelController implements TransactionalModelController { private static final Logger log = Logger . getLogger ( "org.jboss.as.controller" ) ; protected BasicTransactionalModelController ( final ConfigurationPersister configurationPersister ) { } protected BasicTransactionalModelController ( final ConfigurationPersister configurationPersister , final DescriptionProvider rootDescriptionProvider ) { } protected BasicTransactionalModelController ( final ModelNode model , final ConfigurationPersister configurationPersister , DescriptionProvider rootDescriptionProvider ) { } @ Override public OperationResult execute ( final ExecutionContext executionContext , final ResultHandler handler ) { } @ Override public OperationResult execute ( final ExecutionContext executionContext , final ResultHandler handler , final ControllerTransactionContext transaction ) { } protected OperationResult execute ( ExecutionContext executionContext , ResultHandler handler , ModelProvider modelSource , OperationContextFactory contextFactory , ConfigurationPersisterProvider configurationPersisterProvider , ControllerTransactionContext transaction ) { try { final PathAddress address = PathAddress . pathAddress ( executionContext . getOperation ( ) . get ( OP_ADDR ) ) ; final ProxyController proxyExecutor = getRegistry ( ) . getProxyController ( address ) ; if ( proxyExecutor != null ) { ExecutionContext newContext = executionContext . clone ( ) ; newContext . getOperation ( ) . get ( OP_ADDR ) . set ( address . subAddress ( proxyExecutor . getProxyNodeAddress ( ) . size ( ) ) . toModelNode ( ) ) ; return proxyExecutor . execute ( newContext , handler ) ; } if ( isMultiStepOperation ( executionContext , address ) ) { MultiStepOperationController multistepController = getMultiStepOperationController ( executionContext , handler , modelSource , configurationPersisterProvider , transaction ) ; return multistepController . execute ( handler ) ; } final String operationName = executionContext . getOperation ( ) . require ( OP ) . asString ( ) ; final OperationHandler operationHandler = getRegistry ( ) . getOperationHandler ( address , operationName ) ; if ( operationHandler == null ) { throw new IllegalStateException ( ( ( ( "No<seq2seq4repair_space>handler<seq2seq4repair_space>for<seq2seq4repair_space>" + operationName ) + "<seq2seq4repair_space>at<seq2seq4repair_space>address<seq2seq4repair_space>" ) + address ) ) ; } <START_BUG> final OperationContext context = contextFactory . getOperationContext ( modelSource , address , operationHandler ) ; <END_BUG> try { final OperationResult result = operationHandler . execute ( context , executionContext . getOperation ( ) , handler ) ; ControllerResource txResource = getControllerResource ( context , executionContext . getOperation ( ) , operationHandler , handler , address , modelSource , configurationPersisterProvider ) ; if ( txResource != null ) { transaction . registerResource ( txResource ) ; } return result ; } catch ( OperationFailedException e ) { transaction . setRollbackOnly ( ) ; handler . handleFailed ( e . getFailureDescription ( ) ) ; return new BasicOperationResult ( ) ; } } catch ( final Throwable t ) { transaction . setRollbackOnly ( ) ; BasicTransactionalModelController . log . errorf ( t , "operation<seq2seq4repair_space>(%s)<seq2seq4repair_space>failed<seq2seq4repair_space>-<seq2seq4repair_space>address:<seq2seq4repair_space>(%s)" , executionContext . getOperation ( ) . get ( OP ) , executionContext . getOperation ( ) . get ( OP_ADDR ) ) ; handler . handleFailed ( getFailureResult ( t ) ) ; return new BasicOperationResult ( ) ; } } protected MultiStepOperationController getMultiStepOperationController ( ExecutionContext executionContext , ResultHandler handler , ModelProvider modelSource , final ConfigurationPersisterProvider persisterProvider , ControllerTransactionContext transaction ) throws OperationFailedException { } protected ControllerResource getControllerResource ( final OperationContext context , final ModelNode operation , final OperationHandler operationHandler , final ResultHandler resultHandler , final PathAddress address , final ModelProvider modelProvider , final ConfigurationPersisterProvider persisterProvider ) { } protected class UpdateModelControllerResource implements ControllerResource { private final PathAddress address ; private final ModelNode subModel ; private final boolean isRemove ; private final ModelProvider modelProvider ; private final ConfigurationPersisterProvider persisterProvider ; public UpdateModelControllerResource ( final OperationHandler handler , final PathAddress address , final ModelNode subModel , final ModelProvider modelProvider , final ConfigurationPersisterProvider persisterProvider ) { } @ Override public void commit ( ) { } @ Override public void rollback ( ) { } } protected class TransactionalMultiStepOperationController extends MultiStepOperationController { protected final ControllerTransactionContext transaction ; protected TransactionalMultiStepOperationController ( final ExecutionContext executionContext , final ResultHandler resultHandler , final ModelProvider modelSource , final ConfigurationPersisterProvider persisterProvider , final ControllerTransactionContext transaction ) throws OperationFailedException { } @ Override protected void updateModelAndPersist ( ) { } private void commit ( ) { } } }

Fix:
final OperationContext context = contextFactory . getOperationContext ( modelSource , address , operationHandler , executionContext ) ;