code: public static function create(array $config = [])
      {
          $instance = new static();
          foreach ($config as $key => $value) {
              $method = 'set' . ucfirst($key);
              if (! method_exists($instance, $method)) {
                  throw new InvariantViolation(sprintf('Unknown server config option "%s"', $key));
              }
              $instance->$method($value);
          }
  
          return $instance;
      }
docs: Converts an array of options to instance of ServerConfig
  (or just returns empty config when array is not passed).
  
  @param mixed[] $config
  
  @return ServerConfig
  
  @api