Buggy code:
private final ParametersValidator optionalIpAddressValidator = new ParametersValidator ( ) ; private final ParametersValidator connectionIdValidator = new ParametersValidator ( ) ; private HornetQServerControlHandler ( ) { } @ Override protected void executeRuntimeStep ( OperationContext context , ModelNode operation ) throws OperationFailedException { final String operationName = operation . require ( OP ) . asString ( ) ; final HornetQServerControl serverControl = getServerControl ( context , operation ) ; try { if ( READ_ATTRIBUTE_OPERATION . equals ( operationName ) ) { handleReadAttribute ( context , operation , serverControl ) ; } else if ( HornetQServerControlHandler . GET_CONNECTORS_AS_JSON . equals ( operationName ) ) { String json = serverControl . getConnectorsAsJSON ( ) ; context . getResult ( ) . set ( json ) ; } else if ( HornetQServerControlHandler . RESET_ALL_MESSAGE_COUNTERS . equals ( operationName ) ) { serverControl . resetAllMessageCounters ( ) ; context . getResult ( ) ; } else if ( HornetQServerControlHandler . RESET_ALL_MESSAGE_COUNTER_HISTORIES . equals ( operationName ) ) { serverControl . resetAllMessageCounterHistories ( ) ; context . getResult ( ) ; } else if ( HornetQServerControlHandler . LIST_PREPARED_TRANSACTIONS . equals ( operationName ) ) { String [ ] list = serverControl . listPreparedTransactions ( ) ; ManagementUtil . reportListOfString ( context , list ) ; } else if ( HornetQServerControlHandler . LIST_PREPARED_TRANSACTION_DETAILS_AS_JSON . equals ( operationName ) ) { String json = serverControl . listPreparedTransactionDetailsAsJSON ( ) ; context . getResult ( ) . set ( json ) ; } else if ( HornetQServerControlHandler . LIST_PREPARED_TRANSACTION_DETAILS_AS_HTML . equals ( operationName ) ) { String html = serverControl . listPreparedTransactionDetailsAsHTML ( ) ; context . getResult ( ) . set ( html ) ; } else if ( HornetQServerControlHandler . LIST_HEURISTIC_COMMITTED_TRANSACTIONS . equals ( operationName ) ) { String [ ] list = serverControl . listHeuristicCommittedTransactions ( ) ; ManagementUtil . reportListOfString ( context , list ) ; } else if ( HornetQServerControlHandler . LIST_HEURISTIC_ROLLED_BACK_TRANSACTIONS . equals ( operationName ) ) { String [ ] list = serverControl . listHeuristicRolledBackTransactions ( ) ; ManagementUtil . reportListOfString ( context , list ) ; } else if ( HornetQServerControlHandler . COMMIT_PREPARED_TRANSACTION . equals ( operationName ) ) { transactionValidator . validate ( operation ) ; String txId = operation . require ( HornetQServerControlHandler . TRANSACTION_AS_BASE_64 ) . asString ( ) ; boolean committed = serverControl . commitPreparedTransaction ( txId ) ; context . getResult ( ) . set ( committed ) ; } else if ( HornetQServerControlHandler . ROLLBACK_PREPARED_TRANSACTION . equals ( operationName ) ) { transactionValidator . validate ( operation ) ; String txId = operation . require ( HornetQServerControlHandler . TRANSACTION_AS_BASE_64 ) . asString ( ) ; boolean committed = serverControl . rollbackPreparedTransaction ( txId ) ; context . getResult ( ) . set ( committed ) ; } else if ( HornetQServerControlHandler . LIST_REMOTE_ADDRESSES . equals ( operationName ) ) { optionalIpAddressValidator . validate ( operation ) ; ModelNode addr = operation . get ( HornetQServerControlHandler . IP_ADDRESS ) ; String [ ] list = ( addr . isDefined ( ) ) ? serverControl . listRemoteAddresses ( addr . asString ( ) ) : serverControl . listRemoteAddresses ( ) ; ManagementUtil . reportListOfString ( context , list ) ; } else if ( HornetQServerControlHandler . CLOSE_CONNECTIONS_FOR_ADDRESS . equals ( operationName ) ) { ipAddressValidator . validate ( operation ) ; boolean closed = serverControl . closeConnectionsForAddress ( operation . require ( HornetQServerControlHandler . IP_ADDRESS ) . asString ( ) ) ; context . getResult ( ) . set ( closed ) ; } else if ( HornetQServerControlHandler . LIST_CONNECTION_IDS . equals ( operationName ) ) { String [ ] list = serverControl . listConnectionIDs ( ) ; ManagementUtil . reportListOfString ( context , list ) ; } else if ( HornetQServerControlHandler . LIST_PRODUCERS_INFO_AS_JSON . equals ( operationName ) ) { String json = serverControl . listProducersInfoAsJSON ( ) ; context . getResult ( ) . set ( json ) ; } else if ( HornetQServerControlHandler . LIST_SESSIONS . equals ( operationName ) ) { connectionIdValidator . validate ( operation ) ; String [ ] list = serverControl . listSessions ( operation . require ( HornetQServerControlHandler . CONNECTION_ID ) . asString ( ) ) ; ManagementUtil . reportListOfString ( context , list ) ; } else if ( HornetQServerControlHandler . GET_ROLES . equals ( operationName ) ) { addressValidator . validate ( operation ) ; String json = serverControl . getRolesAsJSON ( operation . require ( HornetQServerControlHandler . ADDRESS_MATCH ) . asString ( ) ) ; ManagementUtil . reportRoles ( context , json ) ; } else if ( HornetQServerControlHandler . GET_ROLES_AS_JSON . equals ( operationName ) ) { addressValidator . validate ( operation ) ; String json = serverControl . getRolesAsJSON ( operation . require ( HornetQServerControlHandler . ADDRESS_MATCH ) . asString ( ) ) ; ManagementUtil . reportRolesAsJSON ( context , json ) ; } else if ( HornetQServerControlHandler . GET_ADDRESS_SETTINGS_AS_JSON . equals ( operationName ) ) { addressValidator . validate ( operation ) ; String json = serverControl . getAddressSettingsAsJSON ( operation . require ( HornetQServerControlHandler . ADDRESS_MATCH ) . asString ( ) ) ; context . getResult ( ) . set ( json ) ; } else if ( HornetQServerControlHandler . FORCE_FAILOVER . equals ( operationName ) ) { serverControl . forceFailover ( ) ; context . getResult ( ) ; } else { throw MessagingMessages . MESSAGES . unsupportedOperation ( operationName ) ; } } catch ( RuntimeException e ) { throw e ; } catch ( Exception e ) { context . getFailureDescription ( ) . set ( e . getLocalizedMessage ( ) ) ; } <START_BUG> context . completeStep ( ) ; <END_BUG> } public void registerAttributes ( final ManagementResourceRegistration registry ) { } public void registerOperations ( final ManagementResourceRegistration registry ) { } private void handleReadAttribute ( OperationContext context , ModelNode operation , final HornetQServerControl serverControl ) { } private HornetQServerControl getServerControl ( final OperationContext context , ModelNode operation ) throws OperationFailedException { } }

Fix:
context . completeStep ( NOOP_ROLLBACK_HANDLER ) ;