Buggy code:
public static final SimpleAttributeDefinition RELEASE_CODENAME = org . jboss . as . controller . SimpleAttributeDefinitionBuilder . create ( ModelDescriptionConstants . RELEASE_CODENAME , ModelType . STRING , false ) . setValidator ( DomainRootDefinition . NOT_NULL_STRING_LENGTH_ONE_VALIDATOR ) . build ( ) ; public static final SimpleAttributeDefinition PRODUCT_NAME = org . jboss . as . controller . SimpleAttributeDefinitionBuilder . create ( ModelDescriptionConstants . PRODUCT_NAME , ModelType . STRING , true ) . setValidator ( DomainRootDefinition . NOT_NULL_STRING_LENGTH_ONE_VALIDATOR ) . build ( ) ; public static final SimpleAttributeDefinition PRODUCT_VERSION = org . jboss . as . controller . SimpleAttributeDefinitionBuilder . create ( ModelDescriptionConstants . PRODUCT_VERSION , ModelType . STRING , true ) . setValidator ( DomainRootDefinition . NOT_NULL_STRING_LENGTH_ONE_VALIDATOR ) . build ( ) ; public static final SimpleAttributeDefinition MANAGEMENT_MAJOR_VERSION = org . jboss . as . controller . SimpleAttributeDefinitionBuilder . create ( ModelDescriptionConstants . MANAGEMENT_MAJOR_VERSION , ModelType . INT , false ) . setValidator ( new org . jboss . as . controller . operations . validation . IntRangeValidator ( 1 ) ) . build ( ) ; public static final SimpleAttributeDefinition MANAGEMENT_MINOR_VERSION = org . jboss . as . controller . SimpleAttributeDefinitionBuilder . create ( ModelDescriptionConstants . MANAGEMENT_MINOR_VERSION , ModelType . INT , false ) . setValidator ( new org . jboss . as . controller . operations . validation . IntRangeValidator ( 0 ) ) . build ( ) ; public static final SimpleAttributeDefinition MANAGEMENT_MICRO_VERSION = org . jboss . as . controller . SimpleAttributeDefinitionBuilder . create ( ModelDescriptionConstants . MANAGEMENT_MICRO_VERSION , ModelType . INT , false ) . setValidator ( new org . jboss . as . controller . operations . validation . IntRangeValidator ( 0 ) ) . build ( ) ; public static final SimpleAttributeDefinition PROCESS_TYPE = org . jboss . as . controller . SimpleAttributeDefinitionBuilder . create ( ServerDescriptionConstants . PROCESS_TYPE , ModelType . STRING ) . setStorageRuntime ( ) . setValidator ( DomainRootDefinition . NOT_NULL_STRING_LENGTH_ONE_VALIDATOR ) . build ( ) ; public static final SimpleAttributeDefinition LAUNCH_TYPE = org . jboss . as . controller . SimpleAttributeDefinitionBuilder . create ( ServerDescriptionConstants . LAUNCH_TYPE , ModelType . STRING ) . setValidator ( new org . jboss . as . controller . operations . validation . EnumValidator < org . jboss . as . server . ServerEnvironment . LaunchType > ( org . jboss . as . server . ServerEnvironment . LaunchType . class , false , false ) ) . setStorageRuntime ( ) . build ( ) ; public static final SimpleAttributeDefinition LOCAL_HOST_NAME = org . jboss . as . controller . SimpleAttributeDefinitionBuilder . create ( ModelDescriptionConstants . LOCAL_HOST_NAME , ModelType . STRING , true ) . setValidator ( DomainRootDefinition . NOT_NULL_STRING_LENGTH_ONE_VALIDATOR ) . setStorageRuntime ( ) . build ( ) ; private final DomainController domainController ; private final LocalHostControllerInfo hostControllerInfo ; private final HostControllerEnvironment environment ; private final ExtensibleConfigurationPersister configurationPersister ; private final ContentRepository contentRepo ; private final HostFileRepository fileRepository ; private final boolean isMaster ; private final ExtensionRegistry extensionRegistry ; private final IgnoredDomainResourceRegistry ignoredDomainResourceRegistry ; private final PathManagerService pathManager ; private final DomainControllerRuntimeIgnoreTransformationRegistry runtimeIgnoreTransformationRegistry ; private final DelegatingConfigurableAuthorizer authorizer ; public DomainRootDefinition ( final DomainController domainController , final HostControllerEnvironment environment , final ExtensibleConfigurationPersister configurationPersister , final ContentRepository contentRepo , final HostFileRepository fileRepository , final boolean isMaster , final LocalHostControllerInfo hostControllerInfo , final ExtensionRegistry extensionRegistry , final IgnoredDomainResourceRegistry ignoredDomainResourceRegistry , final PathManagerService pathManager , final DomainControllerRuntimeIgnoreTransformationRegistry runtimeIgnoreTransformationRegistry , final DelegatingConfigurableAuthorizer authorizer ) { } @ Override public void registerAttributes ( ManagementResourceRegistration resourceRegistration ) { } @ Override public void registerOperations ( ManagementResourceRegistration resourceRegistration ) { } @ Override public void registerChildren ( ManagementResourceRegistration resourceRegistration ) { super . registerChildren ( resourceRegistration ) ; resourceRegistration . registerSubModel ( SystemPropertyResourceDefinition . createForDomainOrHost ( DOMAIN ) ) ; resourceRegistration . registerSubModel ( new org . jboss . as . controller . resource . InterfaceDefinition ( InterfaceAddHandler . NAMED_INSTANCE , InterfaceRemoveHandler . INSTANCE , false ) ) ; resourceRegistration . registerSubModel ( CoreManagementResourceDefinition . forDomain ( authorizer ) ) ; resourceRegistration . registerSubModel ( new ProfileResourceDefinition ( extensionRegistry ) ) ; resourceRegistration . registerSubModel ( PathResourceDefinition . createNamed ( pathManager ) ) ; resourceRegistration . registerSubModel ( DomainDeploymentResourceDefinition . createForDomainRoot ( isMaster , contentRepo , fileRepository ) ) ; resourceRegistration . registerSubModel ( new org . jboss . as . server . deploymentoverlay . DeploymentOverlayDefinition ( null , contentRepo , fileRepository ) ) ; <START_BUG> resourceRegistration . registerSubModel ( new ServerGroupResourceDefinition ( isMaster , hostControllerInfo , contentRepo , fileRepository , runtimeIgnoreTransformationRegistry ) ) ; <END_BUG> resourceRegistration . registerSubModel ( new org . jboss . as . controller . resource . SocketBindingGroupResourceDefinition ( SocketBindingGroupAddHandler . INSTANCE , DomainSocketBindingGroupRemoveHandler . INSTANCE , true , SocketBindingResourceDefinition . INSTANCE , RemoteDestinationOutboundSocketBindingResourceDefinition . INSTANCE , LocalDestinationOutboundSocketBindingResourceDefinition . INSTANCE ) ) ; resourceRegistration . registerSubModel ( new org . jboss . as . management . client . content . ManagedDMRContentTypeResourceDefinition ( contentRepo , ModelDescriptionConstants . ROLLOUT_PLAN , PathElement . pathElement ( ModelDescriptionConstants . MANAGEMENT_CLIENT_CONTENT , ModelDescriptionConstants . ROLLOUT_PLANS ) , new DomainRootDefinition . RolloutPlanValidator ( ) , DomainResolver . getResolver ( ModelDescriptionConstants . ROLLOUT_PLANS ) , DomainResolver . getResolver ( ModelDescriptionConstants . ROLLOUT_PLAN ) ) ) ; resourceRegistration . registerSubModel ( new org . jboss . as . controller . extension . ExtensionResourceDefinition ( extensionRegistry , true , false , ( ! ( isMaster ) ) ) ) ; DomainTransformers . initializeDomainRegistry ( extensionRegistry . getTransformerRegistry ( ) ) ; } public void initialize ( ManagementResourceRegistration resourceRegistration ) { } public static class RolloutPlanValidator extends AbstractParameterValidator { private static final List < String > ALLOWED_SERVER_GROUP_CHILDREN = Arrays . asList ( ModelDescriptionConstants . ROLLING_TO_SERVERS , ModelDescriptionConstants . MAX_FAILURE_PERCENTAGE , ModelDescriptionConstants . MAX_FAILED_SERVERS ) ; @ Override public void validateParameter ( String parameterName , ModelNode plan ) throws OperationFailedException { } public static void validateInSeriesServerGroup ( ModelNode serverGroup ) throws OperationFailedException { } } }

Fix:
resourceRegistration . registerSubModel ( new ServerGroupResourceDefinition ( isMaster , hostControllerInfo , fileRepository , runtimeIgnoreTransformationRegistry ) ) ;