final ManagementResourceRegistration unboundedQueueThreadPools = subsystem.registerSubModel(
PathElement.pathElement(UNBOUNDED_QUEUE_THREAD_POOL), UNBOUNDED_QUEUE_THREAD_POOL_DESC);
unboundedQueueThreadPools.registerOperationHandler(ADD, UnboundedQueueThreadPoolAdd.INSTANCE,
UnboundedQueueThreadPoolAdd.INSTANCE, false);
unboundedQueueThreadPools.registerOperationHandler(REMOVE, UnboundedQueueThreadPoolRemove.INSTANCE,
<BUG>UnboundedQueueThreadPoolRemove.INSTANCE, false);
UnboundedQueueThreadPoolReadAttributeHandler.INSTANCE.registerAttributes(unboundedQueueThreadPools);
UnboundedQueueThreadPoolWriteAttributeHandler.INSTANCE.registerAttributes(unboundedQueueThreadPools);</BUG>
final ManagementResourceRegistration queuelessThreadPools = subsystem.registerSubModel(
PathElement.pathElement(QUEUELESS_THREAD_POOL), QUEUELESS_THREAD_POOL_DESC);

final ManagementResourceRegistration unboundedQueueThreadPools = subsystem.registerSubModel(
PathElement.pathElement(UNBOUNDED_QUEUE_THREAD_POOL), UNBOUNDED_QUEUE_THREAD_POOL_DESC);
unboundedQueueThreadPools.registerOperationHandler(ADD, UnboundedQueueThreadPoolAdd.INSTANCE,
UnboundedQueueThreadPoolAdd.INSTANCE, false);
unboundedQueueThreadPools.registerOperationHandler(REMOVE, UnboundedQueueThreadPoolRemove.INSTANCE,
UnboundedQueueThreadPoolRemove.INSTANCE, false);
if (registerRuntimeOnly) {
UnboundedQueueThreadPoolReadAttributeHandler.INSTANCE.registerAttributes(unboundedQueueThreadPools);
}
UnboundedQueueThreadPoolWriteAttributeHandler.INSTANCE.registerAttributes(unboundedQueueThreadPools);
final ManagementResourceRegistration queuelessThreadPools = subsystem.registerSubModel(
PathElement.pathElement(QUEUELESS_THREAD_POOL), QUEUELESS_THREAD_POOL_DESC);
