Program: 167932
Project: 167932
Buggy source:
public static ModelNodeRegistration createHostRegistry(final ExtensibleConfigurationPersister configurationPersister,HostControllerEnvironment environment,DomainModelProxy domainModelProxy){
  final ModelNodeRegistration root=ModelNodeRegistration.Factory.create(HostDescriptionProviders.ROOT_PROVIDER);
  root.registerOperationHandler(READ_RESOURCE_OPERATION,GlobalOperationHandlers.READ_RESOURCE,CommonProviders.READ_RESOURCE_PROVIDER,true);
  root.registerOperationHandler(READ_ATTRIBUTE_OPERATION,GlobalOperationHandlers.READ_ATTRIBUTE,CommonProviders.READ_ATTRIBUTE_PROVIDER,true);
  root.registerOperationHandler(READ_RESOURCE_DESCRIPTION_OPERATION,GlobalOperationHandlers.READ_RESOURCE_DESCRIPTION,CommonProviders.READ_RESOURCE_DESCRIPTION_PROVIDER,true);
  root.registerOperationHandler(READ_CHILDREN_NAMES_OPERATION,GlobalOperationHandlers.READ_CHILDREN_NAMES,CommonProviders.READ_CHILDREN_NAMES_PROVIDER,true);
  root.registerOperationHandler(READ_CHILDREN_TYPES_OPERATION,GlobalOperationHandlers.READ_CHILDREN_TYPES,CommonProviders.READ_CHILDREN_TYPES_PROVIDER,true);
  root.registerOperationHandler(READ_CHILDREN_RESOURCES_OPERATION,GlobalOperationHandlers.READ_CHILDREN_RESOURCES,CommonProviders.READ_CHILDREN_RESOURCES_PROVIDER,true);
  root.registerOperationHandler(READ_OPERATION_NAMES_OPERATION,GlobalOperationHandlers.READ_OPERATION_NAMES,CommonProviders.READ_OPERATION_NAMES_PROVIDER,true);
  root.registerOperationHandler(READ_OPERATION_DESCRIPTION_OPERATION,GlobalOperationHandlers.READ_OPERATION_DESCRIPTION,CommonProviders.READ_OPERATION_PROVIDER,true);
  root.registerOperationHandler(WRITE_ATTRIBUTE_OPERATION,GlobalOperationHandlers.WRITE_ATTRIBUTE,CommonProviders.WRITE_ATTRIBUTE_PROVIDER,true);
  XmlMarshallingHandler xmh=new XmlMarshallingHandler(configurationPersister);
  root.registerOperationHandler(XmlMarshallingHandler.OPERATION_NAME,xmh,xmh,false);
  root.registerOperationHandler(NamespaceAddHandler.OPERATION_NAME,NamespaceAddHandler.INSTANCE,NamespaceAddHandler.INSTANCE,false);
  root.registerOperationHandler(NamespaceRemoveHandler.OPERATION_NAME,NamespaceRemoveHandler.INSTANCE,NamespaceRemoveHandler.INSTANCE,false);
  root.registerOperationHandler(SchemaLocationAddHandler.OPERATION_NAME,SchemaLocationAddHandler.INSTANCE,SchemaLocationAddHandler.INSTANCE,false);
  root.registerOperationHandler(SchemaLocationRemoveHandler.OPERATION_NAME,SchemaLocationRemoveHandler.INSTANCE,SchemaLocationRemoveHandler.INSTANCE,false);
  root.registerReadWriteAttribute(NAME,null,new WriteAttributeHandlers.StringLengthValidatingHandler(1),Storage.CONFIGURATION);
  root.registerReadOnlyAttribute(MASTER,IsMasterHandler.INSTANCE,Storage.RUNTIME);
  ModelNodeRegistration sysProps=root.registerSubModel(PathElement.pathElement(SYSTEM_PROPERTY),HostDescriptionProviders.SYSTEM_PROPERTIES_PROVIDER);
  sysProps.registerOperationHandler(SystemPropertyAddHandler.OPERATION_NAME,SystemPropertyAddHandler.INSTANCE_WITH_BOOTTIME,SystemPropertyAddHandler.INSTANCE_WITH_BOOTTIME,false);
  sysProps.registerOperationHandler(SystemPropertyRemoveHandler.OPERATION_NAME,SystemPropertyRemoveHandler.INSTANCE,SystemPropertyRemoveHandler.INSTANCE,false);
  sysProps.registerReadWriteAttribute(VALUE,null,SystemPropertyValueWriteAttributeHandler.INSTANCE,AttributeAccess.Storage.CONFIGURATION);
  sysProps.registerReadWriteAttribute(BOOT_TIME,null,new WriteAttributeHandlers.ModelTypeValidatingHandler(ModelType.BOOLEAN),AttributeAccess.Storage.CONFIGURATION);
  ModelNodeRegistration securityRealms=root.registerSubModel(PathElement.pathElement(MANAGEMENT,SECURITY_REALMS),CommonProviders.NATIVE_MANAGEMENT_PROVIDER);
  ModelNodeRegistration securityRealm=securityRealms.registerSubModel(PathElement.pathElement(SECURITY_REALM),CommonProviders.NATIVE_MANAGEMENT_PROVIDER);
  securityRealm.registerOperationHandler(SecurityRealmAddHandler.OPERATION_NAME,SecurityRealmAddHandler.INSTANCE,SecurityRealmAddHandler.INSTANCE,false);
  ModelNodeRegistration connections=root.registerSubModel(PathElement.pathElement(MANAGEMENT,CONNECTIONS),CommonProviders.NATIVE_MANAGEMENT_PROVIDER);
  ModelNodeRegistration connection=connections.registerSubModel(PathElement.pathElement(CONNECTION),CommonProviders.NATIVE_MANAGEMENT_PROVIDER);
  connection.registerOperationHandler(ConnectionAddHandler.OPERATION_NAME,ConnectionAddHandler.INSTANCE,ConnectionAddHandler.INSTANCE,false);
  ModelNodeRegistration managementNative=root.registerSubModel(PathElement.pathElement(MANAGEMENT_INTERFACE,NATIVE_INTERFACE),CommonProviders.MANAGEMENT_INTERFACE_PROVIDER);
  managementNative.registerOperationHandler(NativeManagementAddHandler.OPERATION_NAME,NativeManagementAddHandler.INSTANCE,NativeManagementAddHandler.INSTANCE,false);
  ModelNodeRegistration managementHttp=root.registerSubModel(PathElement.pathElement(MANAGEMENT_INTERFACE,HTTP_INTERFACE),CommonProviders.MANAGEMENT_INTERFACE_PROVIDER);
  HttpManagementAddHandler httpAddHandler=HttpManagementAddHandler.getInstance(environment);
  managementHttp.registerOperationHandler(HttpManagementAddHandler.OPERATION_NAME,httpAddHandler,httpAddHandler,false);
  LocalDomainControllerAddHandler localDcAddHandler=LocalDomainControllerAddHandler.getInstance(domainModelProxy,environment);
  root.registerOperationHandler(LocalDomainControllerAddHandler.OPERATION_NAME,localDcAddHandler,localDcAddHandler,false);
  root.registerOperationHandler(LocalDomainControllerRemoveHandler.OPERATION_NAME,LocalDomainControllerRemoveHandler.INSTANCE,LocalDomainControllerRemoveHandler.INSTANCE,false);
  RemoteDomainControllerAddHandler remoteDcAddHandler=RemoteDomainControllerAddHandler.getInstance(domainModelProxy,environment);
  root.registerOperationHandler(RemoteDomainControllerAddHandler.OPERATION_NAME,remoteDcAddHandler,remoteDcAddHandler,false);
  root.registerOperationHandler(RemoteDomainControllerRemoveHandler.OPERATION_NAME,RemoteDomainControllerRemoveHandler.INSTANCE,RemoteDomainControllerRemoveHandler.INSTANCE,false);
  SnapshotDeleteHandler snapshotDelete=new SnapshotDeleteHandler(configurationPersister);
  root.registerOperationHandler(SnapshotDeleteHandler.OPERATION_NAME,snapshotDelete,snapshotDelete,false);
  SnapshotListHandler snapshotList=new SnapshotListHandler(configurationPersister);
  root.registerOperationHandler(SnapshotListHandler.OPERATION_NAME,snapshotList,snapshotList,false);
  SnapshotTakeHandler snapshotTake=new SnapshotTakeHandler(configurationPersister);
  root.registerOperationHandler(SnapshotTakeHandler.OPERATION_NAME,snapshotTake,snapshotTake,false);
  ModelNodeRegistration extensions=root.registerSubModel(PathElement.pathElement(EXTENSION),CommonProviders.EXTENSION_PROVIDER);
  ExtensionContext extensionContext=new ExtensionContextImpl(root,null,configurationPersister);
  ExtensionAddHandler addExtensionHandler=new ExtensionAddHandler(extensionContext);
  extensions.registerOperationHandler(ExtensionAddHandler.OPERATION_NAME,addExtensionHandler,addExtensionHandler,false);
  extensions.registerOperationHandler(ExtensionRemoveHandler.OPERATION_NAME,ExtensionRemoveHandler.INSTANCE,ExtensionRemoveHandler.INSTANCE,false);
  final ModelNodeRegistration jvms=root.registerSubModel(PathElement.pathElement(JVM),CommonProviders.JVM_PROVIDER);
  JVMHandlers.register(jvms);
  ModelNodeRegistration paths=root.registerSubModel(PathElement.pathElement(PATH),CommonProviders.SPECIFIED_PATH_PROVIDER);
  paths.registerOperationHandler(PathAddHandler.OPERATION_NAME,PathAddHandler.SPECIFIED_INSTANCE,PathAddHandler.SPECIFIED_INSTANCE,false);
  paths.registerOperationHandler(PathRemoveHandler.OPERATION_NAME,PathRemoveHandler.INSTANCE,PathRemoveHandler.INSTANCE,false);
  ModelNodeRegistration interfaces=root.registerSubModel(PathElement.pathElement(INTERFACE),CommonProviders.SPECIFIED_INTERFACE_PROVIDER);
  interfaces.registerOperationHandler(InterfaceAddHandler.OPERATION_NAME,SpecifiedInterfaceAddHandler.INSTANCE,SpecifiedInterfaceAddHandler.INSTANCE,false);
  interfaces.registerOperationHandler(InterfaceRemoveHandler.OPERATION_NAME,SpecifiedInterfaceRemoveHandler.INSTANCE,SpecifiedInterfaceRemoveHandler.INSTANCE,false);
  ModelNodeRegistration servers=root.registerSubModel(PathElement.pathElement(SERVER_CONFIG),HostDescriptionProviders.SERVER_PROVIDER);
  servers.registerOperationHandler(ServerAddHandler.OPERATION_NAME,ServerAddHandler.INSTANCE,ServerAddHandler.INSTANCE,false);
  servers.registerOperationHandler(ServerRemoveHandler.OPERATION_NAME,ServerRemoveHandler.INSTANCE,ServerRemoveHandler.INSTANCE,false);
  servers.registerReadWriteAttribute(AUTO_START,null,new WriteAttributeHandlers.ModelTypeValidatingHandler(ModelType.BOOLEAN),Storage.CONFIGURATION);
  servers.registerReadWriteAttribute(SOCKET_BINDING_GROUP,null,WriteAttributeHandlers.WriteAttributeOperationHandler.INSTANCE,Storage.CONFIGURATION);
  servers.registerReadWriteAttribute(SOCKET_BINDING_PORT_OFFSET,null,new WriteAttributeHandlers.IntRangeValidatingHandler(0),Storage.CONFIGURATION);
  servers.registerReadWriteAttribute(PRIORITY,null,new WriteAttributeHandlers.IntRangeValidatingHandler(0),Storage.CONFIGURATION);
  servers.registerReadWriteAttribute(CPU_AFFINITY,null,new WriteAttributeHandlers.StringLengthValidatingHandler(1),Storage.CONFIGURATION);
  ModelNodeRegistration serverPaths=servers.registerSubModel(PathElement.pathElement(PATH),CommonProviders.SPECIFIED_INTERFACE_PROVIDER);
  serverPaths.registerOperationHandler(PathAddHandler.OPERATION_NAME,PathAddHandler.SPECIFIED_INSTANCE,PathAddHandler.SPECIFIED_INSTANCE,false);
  serverPaths.registerOperationHandler(PathRemoveHandler.OPERATION_NAME,PathRemoveHandler.INSTANCE,PathRemoveHandler.INSTANCE,false);
  ModelNodeRegistration serverInterfaces=servers.registerSubModel(PathElement.pathElement(INTERFACE),CommonProviders.SPECIFIED_INTERFACE_PROVIDER);
  serverInterfaces.registerOperationHandler(InterfaceAddHandler.OPERATION_NAME,SpecifiedInterfaceAddHandler.INSTANCE,SpecifiedInterfaceAddHandler.INSTANCE,false);
  serverInterfaces.registerOperationHandler(InterfaceRemoveHandler.OPERATION_NAME,SpecifiedInterfaceRemoveHandler.INSTANCE,SpecifiedInterfaceRemoveHandler.INSTANCE,false);
  ModelNodeRegistration serverSysProps=servers.registerSubModel(PathElement.pathElement(SYSTEM_PROPERTY),HostDescriptionProviders.SERVER_SYSTEM_PROPERTIES_PROVIDER);
  serverSysProps.registerOperationHandler(SystemPropertyAddHandler.OPERATION_NAME,SystemPropertyAddHandler.INSTANCE_WITH_BOOTTIME,SystemPropertyAddHandler.INSTANCE_WITH_BOOTTIME,false);
  serverSysProps.registerOperationHandler(SystemPropertyRemoveHandler.OPERATION_NAME,SystemPropertyRemoveHandler.INSTANCE,SystemPropertyRemoveHandler.INSTANCE,false);
  serverSysProps.registerReadWriteAttribute(VALUE,null,SystemPropertyValueWriteAttributeHandler.INSTANCE,AttributeAccess.Storage.CONFIGURATION);
  serverSysProps.registerReadWriteAttribute(BOOT_TIME,null,new WriteAttributeHandlers.ModelTypeValidatingHandler(ModelType.BOOLEAN),AttributeAccess.Storage.CONFIGURATION);
  final ModelNodeRegistration serverVMs=servers.registerSubModel(PathElement.pathElement(JVM),JVMHandlers.SERVER_MODEL_PROVIDER);
  JVMHandlers.register(serverVMs,true);
  return root;
}

Fixed version (ground truth):
public static ModelNodeRegistration createHostRegistry(final ExtensibleConfigurationPersister configurationPersister,HostControllerEnvironment environment,DomainModelProxy domainModelProxy){
  final ModelNodeRegistration root=ModelNodeRegistration.Factory.create(HostDescriptionProviders.ROOT_PROVIDER);
  root.registerOperationHandler(READ_RESOURCE_OPERATION,GlobalOperationHandlers.READ_RESOURCE,CommonProviders.READ_RESOURCE_PROVIDER,true);
  root.registerOperationHandler(READ_ATTRIBUTE_OPERATION,GlobalOperationHandlers.READ_ATTRIBUTE,CommonProviders.READ_ATTRIBUTE_PROVIDER,true);
  root.registerOperationHandler(READ_RESOURCE_DESCRIPTION_OPERATION,GlobalOperationHandlers.READ_RESOURCE_DESCRIPTION,CommonProviders.READ_RESOURCE_DESCRIPTION_PROVIDER,true);
  root.registerOperationHandler(READ_CHILDREN_NAMES_OPERATION,GlobalOperationHandlers.READ_CHILDREN_NAMES,CommonProviders.READ_CHILDREN_NAMES_PROVIDER,true);
  root.registerOperationHandler(READ_CHILDREN_TYPES_OPERATION,GlobalOperationHandlers.READ_CHILDREN_TYPES,CommonProviders.READ_CHILDREN_TYPES_PROVIDER,true);
  root.registerOperationHandler(READ_CHILDREN_RESOURCES_OPERATION,GlobalOperationHandlers.READ_CHILDREN_RESOURCES,CommonProviders.READ_CHILDREN_RESOURCES_PROVIDER,true);
  root.registerOperationHandler(READ_OPERATION_NAMES_OPERATION,GlobalOperationHandlers.READ_OPERATION_NAMES,CommonProviders.READ_OPERATION_NAMES_PROVIDER,true);
  root.registerOperationHandler(READ_OPERATION_DESCRIPTION_OPERATION,GlobalOperationHandlers.READ_OPERATION_DESCRIPTION,CommonProviders.READ_OPERATION_PROVIDER,true);
  root.registerOperationHandler(WRITE_ATTRIBUTE_OPERATION,GlobalOperationHandlers.WRITE_ATTRIBUTE,CommonProviders.WRITE_ATTRIBUTE_PROVIDER,true);
  XmlMarshallingHandler xmh=new XmlMarshallingHandler(configurationPersister);
  root.registerOperationHandler(XmlMarshallingHandler.OPERATION_NAME,xmh,xmh,false);
  root.registerOperationHandler(NamespaceAddHandler.OPERATION_NAME,NamespaceAddHandler.INSTANCE,NamespaceAddHandler.INSTANCE,false);
  root.registerOperationHandler(NamespaceRemoveHandler.OPERATION_NAME,NamespaceRemoveHandler.INSTANCE,NamespaceRemoveHandler.INSTANCE,false);
  root.registerOperationHandler(SchemaLocationAddHandler.OPERATION_NAME,SchemaLocationAddHandler.INSTANCE,SchemaLocationAddHandler.INSTANCE,false);
  root.registerOperationHandler(SchemaLocationRemoveHandler.OPERATION_NAME,SchemaLocationRemoveHandler.INSTANCE,SchemaLocationRemoveHandler.INSTANCE,false);
  root.registerReadWriteAttribute(NAME,null,new WriteAttributeHandlers.StringLengthValidatingHandler(1),Storage.CONFIGURATION);
  root.registerReadOnlyAttribute(MASTER,IsMasterHandler.INSTANCE,Storage.RUNTIME);
  ModelNodeRegistration sysProps=root.registerSubModel(PathElement.pathElement(SYSTEM_PROPERTY),HostDescriptionProviders.SYSTEM_PROPERTIES_PROVIDER);
  sysProps.registerOperationHandler(SystemPropertyAddHandler.OPERATION_NAME,SystemPropertyAddHandler.INSTANCE_WITH_BOOTTIME,SystemPropertyAddHandler.INSTANCE_WITH_BOOTTIME,false);
  sysProps.registerOperationHandler(SystemPropertyRemoveHandler.OPERATION_NAME,SystemPropertyRemoveHandler.INSTANCE,SystemPropertyRemoveHandler.INSTANCE,false);
  sysProps.registerReadWriteAttribute(VALUE,null,SystemPropertyValueWriteAttributeHandler.INSTANCE,AttributeAccess.Storage.CONFIGURATION);
  sysProps.registerReadWriteAttribute(BOOT_TIME,null,new WriteAttributeHandlers.ModelTypeValidatingHandler(ModelType.BOOLEAN),AttributeAccess.Storage.CONFIGURATION);
  ModelNodeRegistration securityRealms=root.registerSubModel(PathElement.pathElement(MANAGEMENT,SECURITY_REALMS),CommonProviders.NATIVE_MANAGEMENT_PROVIDER);
  ModelNodeRegistration securityRealm=securityRealms.registerSubModel(PathElement.pathElement(SECURITY_REALM),CommonProviders.NATIVE_MANAGEMENT_PROVIDER);
  securityRealm.registerOperationHandler(SecurityRealmAddHandler.OPERATION_NAME,SecurityRealmAddHandler.INSTANCE,SecurityRealmAddHandler.INSTANCE,false);
  ModelNodeRegistration connections=root.registerSubModel(PathElement.pathElement(MANAGEMENT,CONNECTIONS),CommonProviders.NATIVE_MANAGEMENT_PROVIDER);
  ModelNodeRegistration connection=connections.registerSubModel(PathElement.pathElement(CONNECTION),CommonProviders.NATIVE_MANAGEMENT_PROVIDER);
  connection.registerOperationHandler(ConnectionAddHandler.OPERATION_NAME,ConnectionAddHandler.INSTANCE,ConnectionAddHandler.INSTANCE,false);
  ModelNodeRegistration managementNative=root.registerSubModel(PathElement.pathElement(MANAGEMENT_INTERFACE,NATIVE_INTERFACE),CommonProviders.MANAGEMENT_INTERFACE_PROVIDER);
  NativeManagementAddHandler nmah=new NativeManagementAddHandler(new LocalHostControllerInfoImpl(new ControlledProcessState(false)));
  managementNative.registerOperationHandler(NativeManagementAddHandler.OPERATION_NAME,nmah,nmah,false);
  ModelNodeRegistration managementHttp=root.registerSubModel(PathElement.pathElement(MANAGEMENT_INTERFACE,HTTP_INTERFACE),CommonProviders.MANAGEMENT_INTERFACE_PROVIDER);
  HttpManagementAddHandler httpAddHandler=HttpManagementAddHandler.getInstance(environment);
  managementHttp.registerOperationHandler(HttpManagementAddHandler.OPERATION_NAME,httpAddHandler,httpAddHandler,false);
  LocalDomainControllerAddHandler localDcAddHandler=LocalDomainControllerAddHandler.getInstance(domainModelProxy,environment);
  root.registerOperationHandler(LocalDomainControllerAddHandler.OPERATION_NAME,localDcAddHandler,localDcAddHandler,false);
  root.registerOperationHandler(LocalDomainControllerRemoveHandler.OPERATION_NAME,LocalDomainControllerRemoveHandler.INSTANCE,LocalDomainControllerRemoveHandler.INSTANCE,false);
  RemoteDomainControllerAddHandler remoteDcAddHandler=RemoteDomainControllerAddHandler.getInstance(domainModelProxy,environment);
  root.registerOperationHandler(RemoteDomainControllerAddHandler.OPERATION_NAME,remoteDcAddHandler,remoteDcAddHandler,false);
  root.registerOperationHandler(RemoteDomainControllerRemoveHandler.OPERATION_NAME,RemoteDomainControllerRemoveHandler.INSTANCE,RemoteDomainControllerRemoveHandler.INSTANCE,false);
  SnapshotDeleteHandler snapshotDelete=new SnapshotDeleteHandler(configurationPersister);
  root.registerOperationHandler(SnapshotDeleteHandler.OPERATION_NAME,snapshotDelete,snapshotDelete,false);
  SnapshotListHandler snapshotList=new SnapshotListHandler(configurationPersister);
  root.registerOperationHandler(SnapshotListHandler.OPERATION_NAME,snapshotList,snapshotList,false);
  SnapshotTakeHandler snapshotTake=new SnapshotTakeHandler(configurationPersister);
  root.registerOperationHandler(SnapshotTakeHandler.OPERATION_NAME,snapshotTake,snapshotTake,false);
  ModelNodeRegistration extensions=root.registerSubModel(PathElement.pathElement(EXTENSION),CommonProviders.EXTENSION_PROVIDER);
  ExtensionContext extensionContext=new ExtensionContextImpl(root,null,configurationPersister);
  ExtensionAddHandler addExtensionHandler=new ExtensionAddHandler(extensionContext);
  extensions.registerOperationHandler(ExtensionAddHandler.OPERATION_NAME,addExtensionHandler,addExtensionHandler,false);
  extensions.registerOperationHandler(ExtensionRemoveHandler.OPERATION_NAME,ExtensionRemoveHandler.INSTANCE,ExtensionRemoveHandler.INSTANCE,false);
  final ModelNodeRegistration jvms=root.registerSubModel(PathElement.pathElement(JVM),CommonProviders.JVM_PROVIDER);
  JVMHandlers.register(jvms);
  ModelNodeRegistration paths=root.registerSubModel(PathElement.pathElement(PATH),CommonProviders.SPECIFIED_PATH_PROVIDER);
  paths.registerOperationHandler(PathAddHandler.OPERATION_NAME,PathAddHandler.SPECIFIED_INSTANCE,PathAddHandler.SPECIFIED_INSTANCE,false);
  paths.registerOperationHandler(PathRemoveHandler.OPERATION_NAME,PathRemoveHandler.INSTANCE,PathRemoveHandler.INSTANCE,false);
  ModelNodeRegistration interfaces=root.registerSubModel(PathElement.pathElement(INTERFACE),CommonProviders.SPECIFIED_INTERFACE_PROVIDER);
  interfaces.registerOperationHandler(InterfaceAddHandler.OPERATION_NAME,SpecifiedInterfaceAddHandler.INSTANCE,SpecifiedInterfaceAddHandler.INSTANCE,false);
  interfaces.registerOperationHandler(InterfaceRemoveHandler.OPERATION_NAME,SpecifiedInterfaceRemoveHandler.INSTANCE,SpecifiedInterfaceRemoveHandler.INSTANCE,false);
  ModelNodeRegistration servers=root.registerSubModel(PathElement.pathElement(SERVER_CONFIG),HostDescriptionProviders.SERVER_PROVIDER);
  servers.registerOperationHandler(ServerAddHandler.OPERATION_NAME,ServerAddHandler.INSTANCE,ServerAddHandler.INSTANCE,false);
  servers.registerOperationHandler(ServerRemoveHandler.OPERATION_NAME,ServerRemoveHandler.INSTANCE,ServerRemoveHandler.INSTANCE,false);
  servers.registerReadWriteAttribute(AUTO_START,null,new WriteAttributeHandlers.ModelTypeValidatingHandler(ModelType.BOOLEAN),Storage.CONFIGURATION);
  servers.registerReadWriteAttribute(SOCKET_BINDING_GROUP,null,WriteAttributeHandlers.WriteAttributeOperationHandler.INSTANCE,Storage.CONFIGURATION);
  servers.registerReadWriteAttribute(SOCKET_BINDING_PORT_OFFSET,null,new WriteAttributeHandlers.IntRangeValidatingHandler(0),Storage.CONFIGURATION);
  servers.registerReadWriteAttribute(PRIORITY,null,new WriteAttributeHandlers.IntRangeValidatingHandler(0),Storage.CONFIGURATION);
  servers.registerReadWriteAttribute(CPU_AFFINITY,null,new WriteAttributeHandlers.StringLengthValidatingHandler(1),Storage.CONFIGURATION);
  ModelNodeRegistration serverPaths=servers.registerSubModel(PathElement.pathElement(PATH),CommonProviders.SPECIFIED_INTERFACE_PROVIDER);
  serverPaths.registerOperationHandler(PathAddHandler.OPERATION_NAME,PathAddHandler.SPECIFIED_INSTANCE,PathAddHandler.SPECIFIED_INSTANCE,false);
  serverPaths.registerOperationHandler(PathRemoveHandler.OPERATION_NAME,PathRemoveHandler.INSTANCE,PathRemoveHandler.INSTANCE,false);
  ModelNodeRegistration serverInterfaces=servers.registerSubModel(PathElement.pathElement(INTERFACE),CommonProviders.SPECIFIED_INTERFACE_PROVIDER);
  serverInterfaces.registerOperationHandler(InterfaceAddHandler.OPERATION_NAME,SpecifiedInterfaceAddHandler.INSTANCE,SpecifiedInterfaceAddHandler.INSTANCE,false);
  serverInterfaces.registerOperationHandler(InterfaceRemoveHandler.OPERATION_NAME,SpecifiedInterfaceRemoveHandler.INSTANCE,SpecifiedInterfaceRemoveHandler.INSTANCE,false);
  ModelNodeRegistration serverSysProps=servers.registerSubModel(PathElement.pathElement(SYSTEM_PROPERTY),HostDescriptionProviders.SERVER_SYSTEM_PROPERTIES_PROVIDER);
  serverSysProps.registerOperationHandler(SystemPropertyAddHandler.OPERATION_NAME,SystemPropertyAddHandler.INSTANCE_WITH_BOOTTIME,SystemPropertyAddHandler.INSTANCE_WITH_BOOTTIME,false);
  serverSysProps.registerOperationHandler(SystemPropertyRemoveHandler.OPERATION_NAME,SystemPropertyRemoveHandler.INSTANCE,SystemPropertyRemoveHandler.INSTANCE,false);
  serverSysProps.registerReadWriteAttribute(VALUE,null,SystemPropertyValueWriteAttributeHandler.INSTANCE,AttributeAccess.Storage.CONFIGURATION);
  serverSysProps.registerReadWriteAttribute(BOOT_TIME,null,new WriteAttributeHandlers.ModelTypeValidatingHandler(ModelType.BOOLEAN),AttributeAccess.Storage.CONFIGURATION);
  final ModelNodeRegistration serverVMs=servers.registerSubModel(PathElement.pathElement(JVM),JVMHandlers.SERVER_MODEL_PROVIDER);
  JVMHandlers.register(serverVMs,true);
  return root;
}