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`
  
*     otherwise will use the release version of Safari.
   */
  public SafariOptions setUseTechnologyPreview(boolean useTechnologyPreview) {
    options.put(Option.TECHNOLOGY_PREVIEW, useTechnologyPreview);
    
    super.setCapability(Option.TECH_PREVIEW, Boolean.valueOf(useTechnologyPreview));
    super.setCapability(BROWSER_NAME, useTechnologyPreview ? "Safari Technology Preview" : "safari");
    return this;
  }
  @Override
  public void setCapability(String key, Object value) {
    if (Option.TECHNOLOGY_PREVIEW.equals(key) || Option.TECH_PREVIEW.equals(key)) {
      setUseTechnologyPreview(Boolean.valueOf(value.toString()));
    } else {
      super.setCapability(key, value);
    }
  }
  @Override
  public void setCapability(String key, boolean value) {
    if (Option.TECHNOLOGY_PREVIEW.equals(key) || Option.TECH_PREVIEW.equals(key)) {
      setUseTechnologyPreview(value);
    } else {
      super.setCapability(key, value);
    }
  }
  public SafariOptions setProxy(Proxy proxy) {
    setCapability(CapabilityType.PROXY, proxy);
    return this;
  }