Please remove fields/capabilities from SafariOptions class:
* `cleanSession`: This property is migrated from old safaridriver by selenium, but it was never used by Apple's safaridriver (Safari always creates clean session). Because current version does not support deprecated driver this capability should be removed.  
* `port` : this deprecated field is not exposed to user and cause the issue #5020 which maked SafaryOption unusable (in grid environment) 

Add new capabilities which are [supported by safaridriver](https://webkit.org/blog/6900/webdriver-support-in-safari-10/)
* `automaticInspection`
* `automaticProfiling`
  
}
  /**
   * Construct a {@link SafariOptions} instance from given capabilites.
   * When the {@link #CAPABILITY} capability is set, all other capabilities will be ignored!
   *
   * @param capabilities Desired capabilities from which the options are derived.
   * @return SafariOptions
   * @throws WebDriverException If an error occurred during the reconstruction of the options
   */
  public static SafariOptions fromCapabilities(Capabilities capabilities)
      throws WebDriverException {
    if (capabilities instanceof SafariOptions) {
      return (SafariOptions) capabilities;
    }
    Object cap = capabilities.getCapability(SafariOptions.CAPABILITY);
    if (cap instanceof SafariOptions) {
      return (SafariOptions) cap;
    } else if (cap instanceof Map) {
      return SafariOptions.fromJsonMap((Map<?, ?>) cap);
    } else {
      return new SafariOptions();
    }
  }
  
  
  /**
   * Instruct the SafariDriver to use the Safari Technology Preview if true, otherwise use the
   * release version of Safari. Defaults to using the release version of Safari.
   *
   * @param useTechnologyPreview If true, the SafariDriver will use the Safari Technology Preview,