Buggy code:
public class MessagingExtension implements Extension { public static final String SUBSYSTEM_NAME = "messaging" ; static final PathElement SUBSYSTEM_PATH = PathElement . pathElement ( SUBSYSTEM , MessagingExtension . SUBSYSTEM_NAME ) ; static final String RESOURCE_NAME = ( MessagingExtension . class . getPackage ( ) . getName ( ) ) + ".LocalDescriptions" ; private static final int MANAGEMENT_API_MAJOR_VERSION = 1 ; private static final int MANAGEMENT_API_MINOR_VERSION = 2 ; private static final int MANAGEMENT_API_MICRO_VERSION = 0 ; public static ResourceDescriptionResolver getResourceDescriptionResolver ( final String ... keyPrefix ) { } public static ResourceDescriptionResolver getResourceDescriptionResolver ( final boolean useUnprefixedChildTypes , final String ... keyPrefix ) { } public void initialize ( ExtensionContext context ) { final SubsystemRegistration subsystem = context . registerSubsystem ( MessagingExtension . SUBSYSTEM_NAME , MessagingExtension . MANAGEMENT_API_MAJOR_VERSION , MessagingExtension . MANAGEMENT_API_MINOR_VERSION , MessagingExtension . MANAGEMENT_API_MICRO_VERSION ) ; subsystem . registerXMLElementWriter ( INSTANCE ) ; boolean registerRuntimeOnly = context . isRuntimeOnlyRegistrationValid ( ) ; final ManagementResourceRegistration rootRegistration = subsystem . registerSubsystemModel ( MessagingSubsystemRootResourceDefinition . INSTANCE ) ; <START_BUG> rootRegistration . registerOperationHandler ( DESCRIBE , GenericSubsystemDescribeHandler . INSTANCE , GenericSubsystemDescribeHandler . INSTANCE , false , PRIVATE ) ; <END_BUG> final ManagementResourceRegistration serverRegistration = rootRegistration . registerSubModel ( new HornetQServerResourceDefinition ( registerRuntimeOnly ) ) ; if ( registerRuntimeOnly ) { final ManagementResourceRegistration coreAddress = serverRegistration . registerSubModel ( new CoreAddressDefinition ( ) ) ; coreAddress . setRuntimeOnly ( true ) ; } serverRegistration . registerSubModel ( new AddressSettingDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( new BroadcastGroupDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( new DiscoveryGroupDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( new DivertDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( new QueueDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( GenericTransportDefinition . createAcceptorDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( RemoteTransportDefinition . createAcceptorDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( InVMTransportDefinition . createAcceptorDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( GenericTransportDefinition . createConnectorDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( RemoteTransportDefinition . createConnectorDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( InVMTransportDefinition . createConnectorDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( new BridgeDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( new ClusterConnectionDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( new GroupingHandlerDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( new ConnectorServiceDefinition ( registerRuntimeOnly ) ) ; for ( final String path : MessagingPathHandlers . PATHS ) { ManagementResourceRegistration bindings = serverRegistration . registerSubModel ( PathElement . pathElement ( PATH , path ) , new MessagingSubsystemProviders . PathProvider ( path ) ) ; MessagingPathHandlers . register ( bindings ) ; } serverRegistration . registerSubModel ( new ConnectionFactoryDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( new PooledConnectionFactoryDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( new JMSQueueDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( new JMSTopicDefinition ( registerRuntimeOnly ) ) ; serverRegistration . registerSubModel ( new SecuritySettingDefinition ( registerRuntimeOnly ) ) ; if ( registerRuntimeOnly ) { ResourceDefinition deploymentsDef = new org . jboss . as . controller . SimpleResourceDefinition ( MessagingExtension . SUBSYSTEM_PATH , MessagingExtension . getResourceDescriptionResolver ( "deployed" ) ) ; final ManagementResourceRegistration deploymentsRegistration = subsystem . registerDeploymentModel ( deploymentsDef ) ; final ManagementResourceRegistration serverModel = deploymentsRegistration . registerSubModel ( new HornetQServerResourceDefinition ( true ) ) ; serverModel . registerSubModel ( JMSQueueDefinition . newDeployedJMSQueueDefinition ( ) ) ; serverModel . registerSubModel ( JMSTopicDefinition . newDeployedJMSTopicDefinition ( ) ) ; } rootRegistration . registerSubModel ( new JMSBridgeDefinition ( ) ) ; MessagingExtension . registerTransformers_1_1_0 ( subsystem ) ; } public void initializeParsers ( ExtensionParsingContext context ) { } private static void registerTransformers_1_1_0 ( final SubsystemRegistration subsystem ) { } }

Fix:
rootRegistration . registerOperationHandler ( DEFINITION , GenericSubsystemDescribeHandler . INSTANCE ) ;