docs: public static RegistrationRequest build(GridNodeConfiguration configuration, String name, String description) {
      RegistrationRequest pendingRequest = new RegistrationRequest(configuration, name, description);
      GridNodeConfiguration pendingConfiguration = pendingRequest.configuration;
  
      if (pendingConfiguration.nodeConfigFile != null) {
        pendingRequest.configuration = GridNodeConfiguration.loadFromJSON(pendingConfiguration.nodeConfigFile);
      }
  
      pendingRequest.configuration.merge(pendingConfiguration);
      //update important merge protected values for the pendingRequest we are building.
      if (pendingConfiguration.host != null) {
        pendingRequest.configuration.host = pendingConfiguration.host;
      }
      if (pendingConfiguration.port != null) {
        pendingRequest.configuration.port = pendingConfiguration.port;
      }
  
      // make sure we have a valid host
      pendingRequest.configuration.fixUpHost();
      // make sure the capabilities are updated with required fields
      pendingRequest.configuration.fixUpCapabilities();
      pendingRequest.configuration.dropCapabilitiesThatDoesNotMatchCurrentPlatform();
  
      return pendingRequest;
    }