docs: @Override
      public void initialize(ExtensionContext context) {
          final SubsystemRegistration registration = context.registerSubsystem(SUBSYSTEM_NAME, CURRENT_VERSION);
  
          //This subsystem should be runnable on a host
          registration.setHostCapable();
  
          //This is ugly but for now we don't want to make the audit logger easily available to all extensions
          @SuppressWarnings("deprecation")
          ManagedAuditLogger auditLogger = (ManagedAuditLogger)((ExtensionContextSupplement)context).getAuditLogger(false, true);
          //This is ugly but for now we don't want to make the authorizer easily available to all extensions
          @SuppressWarnings("deprecation")
          JmxAuthorizer authorizer = ((ExtensionContextSupplement)context).getAuthorizer();
        //This is ugly but for now we don't want to make the securityIdentitySupplier easily available to all extensions
          @SuppressWarnings("deprecation")
          Supplier<SecurityIdentity> securityIdentitySupplier = ((ExtensionContextSupplement)context).getSecurityIdentitySupplier();
          //This is ugly but for now we don't want to make the hostInfoAccessor easily available to all extensions
          @SuppressWarnings("deprecation")
          RuntimeHostControllerInfoAccessor hostInfoAccessor = ((ExtensionContextSupplement)context).getHostControllerInfoAccessor();
  
          registration.registerSubsystemModel(JMXSubsystemRootResource.create(auditLogger, authorizer, securityIdentitySupplier, hostInfoAccessor));
          registration.registerXMLElementWriter(JMXSubsystemWriter::new);
      }