code: @ObjectiveCName("openConnectionWithJavaNetProxy:")
      public URLConnection openConnection(Object proxy) throws java.io.IOException {
          return getDelegate().openConnection(this, proxy);
      }
docs: Same as {@link #openConnection()}, except that the connection will be
  made through the specified proxy; Protocol handlers that do not
  support proxing will ignore the proxy parameter and make a
  normal connection.
  
  Invoking this method preempts the system's default ProxySelector
  settings.
  
  @param      proxy the Proxy through which this connection
  will be made. If direct connection is desired,
  Proxy.NO_PROXY should be specified.
  @return     a <code>URLConnection</code> to the URL.
  @exception  IOException  if an I/O exception occurs.
  @exception  SecurityException if a security manager is present
  and the caller doesn't have permission to connect
  to the proxy.
  @exception  IllegalArgumentException will be thrown if proxy is null,
  or proxy has the wrong type
  @exception  UnsupportedOperationException if the subclass that
  implements the protocol handler doesn't support
  this method.
  @see        java.net.URL#URL(java.lang.String, java.lang.String,
  int, java.lang.String)
  @see        java.net.URLConnection
  @see        java.net.URLStreamHandler#openConnection(java.net.URL,
  java.net.Proxy)
  @since      1.5