code: synchronized void start(final ManagedServerBootCmdFactory factory) {
          final InternalState required = this.requiredState;
          // Ignore if the server is already started
          if(required == InternalState.SERVER_STARTED) {
              return;
          }
          // In case the server failed to start, try to start it again
          if(required != InternalState.FAILED) {
              final InternalState current = this.internalState;
              if(current != required) {
                  // TODO this perhaps should wait?
                  throw new IllegalStateException();
              }
          }
          operationID = CurrentOperationIdHolder.getCurrentOperationID();
          bootConfiguration = factory.createConfiguration();
          requiredState = InternalState.SERVER_STARTED;
          ROOT_LOGGER.startingServer(serverName);
          transition();
      }
docs: Start a managed server.
  
  @param factory the boot command factory