docs: @Override
      public void execute(OperationContext context, ModelNode operation) throws OperationFailedException {
  
          if (context.getRunningMode() == RunningMode.ADMIN_ONLY) {
              throw new OperationFailedException(HostControllerLogger.ROOT_LOGGER.cannotStartServersInvalidMode(context.getRunningMode()));
          }
  
          final String serverName = context.getCurrentAddressValue();
          final boolean blocking = BLOCKING.resolveModelAttribute(context, operation).asBoolean();
          final boolean suspend = START_MODE.resolveModelAttribute(context, operation).asString().toLowerCase(Locale.ENGLISH).equals(SUSPEND);
  
          final ModelNode model = Resource.Tools.readModel(context.readResourceFromRoot(PathAddress.EMPTY_ADDRESS, true));
          context.addStep(new OperationStepHandler() {
              @Override
              public void execute(OperationContext context, ModelNode operation) throws OperationFailedException {
                  // WFLY-2189 trigger a write-runtime authz check
                  context.getServiceRegistry(true);
  
                  final ServerStatus origStatus = serverInventory.determineServerStatus(serverName);
                  if (origStatus != ServerStatus.STARTED) {
                      throw new OperationFailedException(HostControllerLogger.ROOT_LOGGER.cannotRestartServer(serverName, origStatus));
                  }
                  final ServerStatus status = serverInventory.restartServer(serverName, -1, model, blocking, suspend);
                  context.getResult().set(status.toString());
                  context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER);
              }
          }, OperationContext.Stage.RUNTIME);
      }