docs: public static StandaloneServer createStandaloneServer(final Configuration configuration) {
          final ChainedContext context = new ChainedContext();
          context.add(new StandaloneSystemPropertyContext(configuration.getJBossHome()));
          context.add(new LoggerContext(configuration.getModuleLoader()));
          final ModuleLoader moduleLoader = configuration.getModuleLoader();
  
          setupVfsModule(moduleLoader);
  
          // Load the Embedded Server Module
          final Module embeddedModule;
          try {
              embeddedModule = moduleLoader.loadModule(MODULE_ID_EMBEDDED);
          } catch (final ModuleLoadException mle) {
              throw EmbeddedLogger.ROOT_LOGGER.moduleLoaderError(mle, MODULE_ID_EMBEDDED, moduleLoader);
          }
  
          // Load the Embedded Server Factory via the modular environment
          final ModuleClassLoader embeddedModuleCL = embeddedModule.getClassLoader();
          final Class<?> embeddedServerFactoryClass;
          final Class<?> standaloneServerClass;
          try {
              embeddedServerFactoryClass = embeddedModuleCL.loadClass(SERVER_FACTORY);
              standaloneServerClass = embeddedModuleCL.loadClass(StandaloneServer.class.getName());
          } catch (final ClassNotFoundException cnfe) {
              throw EmbeddedLogger.ROOT_LOGGER.cannotLoadEmbeddedServerFactory(cnfe, SERVER_FACTORY);
          }
  
          // Get a handle to the method which will create the server
          boolean useClMethod = true;
          Method createServerMethod;
          try {
              createServerMethod = embeddedServerFactoryClass.getMethod("create", File.class, ModuleLoader.class, Properties.class, Map.class, String[].class, ClassLoader.class);
          } catch (final NoSuchMethodException nsme) {
              useClMethod = false;
              try {
                  // Check if we're using a version of WildFly Core before 6.0 which did not include the create method that accepts a class loader
                  createServerMethod = embeddedServerFactoryClass.getMethod("create", File.class, ModuleLoader.class, Properties.class, Map.class, String[].class);
              } catch (final NoSuchMethodException e) {
                  throw EmbeddedLogger.ROOT_LOGGER.cannotGetReflectiveMethod(e, "create", embeddedServerFactoryClass.getName());
              }
          }
          // Create the server
          Object standaloneServerImpl = createManagedProcess(ProcessType.STANDALONE_SERVER, createServerMethod, configuration, useClMethod ? embeddedModuleCL : null);
          return new EmbeddedManagedProcessImpl(standaloneServerClass, standaloneServerImpl, context);
      }