class java.net.HttpConnectSocketImpl extends java.net.PlainSocketImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.net.HttpConnectSocketImpl
  super_class: java.net.PlainSocketImpl
{
  private static final java.lang.String httpURLClazzStr;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sun.net.www.protocol.http.HttpURLConnection"

  private static final java.lang.String netClientClazzStr;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sun.net.NetworkClient"

  private static final java.lang.String doTunnelingStr;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "doTunneling"

  private static final java.lang.reflect.Field httpField;
    descriptor: Ljava/lang/reflect/Field;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Field serverSocketField;
    descriptor: Ljava/lang/reflect/Field;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method doTunneling;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.String server;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.net.InetSocketAddress external_address;
    descriptor: Ljava/net/InetSocketAddress;
    flags: (0x0002) ACC_PRIVATE

  private java.util.HashMap<java.lang.Integer, java.lang.Object> optionsMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/Integer;Ljava/lang/Object;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 60
            ldc "sun.net.www.protocol.http.HttpURLConnection"
            iconst_1
            aconst_null
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 0 /* httpClazz */
        start local 0 // java.lang.Class httpClazz
         1: .line 61
            aload 0 /* httpClazz */
            ldc "http"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            putstatic java.net.HttpConnectSocketImpl.httpField:Ljava/lang/reflect/Field;
         2: .line 62
            aload 0 /* httpClazz */
            ldc "doTunneling"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic java.net.HttpConnectSocketImpl.doTunneling:Ljava/lang/reflect/Method;
         3: .line 63
            ldc "sun.net.NetworkClient"
            iconst_1
            aconst_null
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 1 /* netClientClazz */
        start local 1 // java.lang.Class netClientClazz
         4: .line 64
            aload 1 /* netClientClazz */
            ldc "serverSocket"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            putstatic java.net.HttpConnectSocketImpl.serverSocketField:Ljava/lang/reflect/Field;
         5: .line 67
            new java.net.HttpConnectSocketImpl$1
            dup
            invokespecial java.net.HttpConnectSocketImpl$1.<init>:()V
         6: .line 66
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        end local 1 // java.lang.Class netClientClazz
        end local 0 // java.lang.Class httpClazz
         7: .line 74
            goto 10
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
         8: astore 0 /* x */
        start local 0 // java.lang.ReflectiveOperationException x
         9: .line 75
            new java.lang.InternalError
            dup
            ldc "Should not reach here"
            aload 0 /* x */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.ReflectiveOperationException x
        10: .line 77
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            1    7     0       httpClazz  Ljava/lang/Class<*>;
            4    7     1  netClientClazz  Ljava/lang/Class<*>;
            9   10     0               x  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     7       8  Class java.lang.ReflectiveOperationException

  void <init>(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.net.HttpConnectSocketImpl this
        start local 1 // java.lang.String server
        start local 2 // int port
         0: .line 79
            aload 0 /* this */
            invokespecial java.net.PlainSocketImpl.<init>:()V
         1: .line 56
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.net.HttpConnectSocketImpl.optionsMap:Ljava/util/HashMap;
         2: .line 80
            aload 0 /* this */
            aload 1 /* server */
            putfield java.net.HttpConnectSocketImpl.server:Ljava/lang/String;
         3: .line 81
            aload 0 /* this */
            iload 2 /* port */
            putfield java.net.HttpConnectSocketImpl.port:I
         4: .line 82
            return
        end local 2 // int port
        end local 1 // java.lang.String server
        end local 0 // java.net.HttpConnectSocketImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljava/net/HttpConnectSocketImpl;
            0    5     1  server  Ljava/lang/String;
            0    5     2    port  I
    MethodParameters:
        Name  Flags
      server  
      port    

  void <init>(java.net.Proxy);
    descriptor: (Ljava/net/Proxy;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.net.HttpConnectSocketImpl this
        start local 1 // java.net.Proxy proxy
         0: .line 84
            aload 0 /* this */
            invokespecial java.net.PlainSocketImpl.<init>:()V
         1: .line 56
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.net.HttpConnectSocketImpl.optionsMap:Ljava/util/HashMap;
         2: .line 85
            aload 1 /* proxy */
            invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
            astore 2 /* a */
        start local 2 // java.net.SocketAddress a
         3: .line 86
            aload 2 /* a */
            instanceof java.net.InetSocketAddress
            ifne 5
         4: .line 87
            new java.lang.IllegalArgumentException
            dup
            ldc "Unsupported address type"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 89
      StackMap locals: java.net.HttpConnectSocketImpl java.net.Proxy java.net.SocketAddress
      StackMap stack:
            aload 2 /* a */
            checkcast java.net.InetSocketAddress
            astore 3 /* ad */
        start local 3 // java.net.InetSocketAddress ad
         6: .line 90
            aload 0 /* this */
            aload 3 /* ad */
            invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
            putfield java.net.HttpConnectSocketImpl.server:Ljava/lang/String;
         7: .line 91
            aload 0 /* this */
            aload 3 /* ad */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            putfield java.net.HttpConnectSocketImpl.port:I
         8: .line 92
            return
        end local 3 // java.net.InetSocketAddress ad
        end local 2 // java.net.SocketAddress a
        end local 1 // java.net.Proxy proxy
        end local 0 // java.net.HttpConnectSocketImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Ljava/net/HttpConnectSocketImpl;
            0    9     1  proxy  Ljava/net/Proxy;
            3    9     2      a  Ljava/net/SocketAddress;
            6    9     3     ad  Ljava/net/InetSocketAddress;
    MethodParameters:
       Name  Flags
      proxy  

  protected void connect(java.net.SocketAddress, int);
    descriptor: (Ljava/net/SocketAddress;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=13, args_size=3
        start local 0 // java.net.HttpConnectSocketImpl this
        start local 1 // java.net.SocketAddress endpoint
        start local 2 // int timeout
         0: .line 98
            aload 1 /* endpoint */
            ifnull 1
            aload 1 /* endpoint */
            instanceof java.net.InetSocketAddress
            ifne 2
         1: .line 99
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Unsupported address type"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 100
      StackMap locals:
      StackMap stack:
            aload 1 /* endpoint */
            checkcast java.net.InetSocketAddress
            astore 3 /* epoint */
        start local 3 // java.net.InetSocketAddress epoint
         3: .line 101
            aload 3 /* epoint */
            invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
            ifeq 4
            aload 3 /* epoint */
            invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
            goto 5
         4: .line 102
      StackMap locals: java.net.InetSocketAddress
      StackMap stack:
            aload 3 /* epoint */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
         5: .line 101
      StackMap locals:
      StackMap stack: java.lang.String
            astore 4 /* destHost */
        start local 4 // java.lang.String destHost
         6: .line 103
            aload 3 /* epoint */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            istore 5 /* destPort */
        start local 5 // int destPort
         7: .line 105
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 6 /* security */
        start local 6 // java.lang.SecurityManager security
         8: .line 106
            aload 6 /* security */
            ifnull 10
         9: .line 107
            aload 6 /* security */
            aload 4 /* destHost */
            iload 5 /* destPort */
            invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
        10: .line 110
      StackMap locals: java.lang.String int java.lang.SecurityManager
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "http://"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* destHost */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* destPort */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* urlString */
        start local 7 // java.lang.String urlString
        11: .line 111
            aload 0 /* this */
            aload 7 /* urlString */
            iload 2 /* timeout */
            invokevirtual java.net.HttpConnectSocketImpl.privilegedDoTunnel:(Ljava/lang/String;I)Ljava/net/Socket;
            astore 8 /* httpSocket */
        start local 8 // java.net.Socket httpSocket
        12: .line 114
            aload 0 /* this */
            aload 3 /* epoint */
            putfield java.net.HttpConnectSocketImpl.external_address:Ljava/net/InetSocketAddress;
        13: .line 117
            aload 0 /* this */
            invokevirtual java.net.HttpConnectSocketImpl.close:()V
        14: .line 120
            aload 8 /* httpSocket */
            getfield java.net.Socket.impl:Ljava/net/SocketImpl;
            checkcast java.net.AbstractPlainSocketImpl
            astore 9 /* psi */
        start local 9 // java.net.AbstractPlainSocketImpl psi
        15: .line 121
            aload 0 /* this */
            invokevirtual java.net.HttpConnectSocketImpl.getSocket:()Ljava/net/Socket;
            aload 9 /* psi */
            putfield java.net.Socket.impl:Ljava/net/SocketImpl;
        16: .line 124
            aload 0 /* this */
            getfield java.net.HttpConnectSocketImpl.optionsMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            astore 10 /* options */
        start local 10 // java.util.Set options
        17: .line 126
            aload 10 /* options */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 12
            goto 20
      StackMap locals: java.net.HttpConnectSocketImpl java.net.SocketAddress int java.net.InetSocketAddress java.lang.String int java.lang.SecurityManager java.lang.String java.net.Socket java.net.AbstractPlainSocketImpl java.util.Set top java.util.Iterator
      StackMap stack:
        18: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 11 /* entry */
        start local 11 // java.util.Map$Entry entry
        19: .line 127
            aload 9 /* psi */
            aload 11 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            aload 11 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.net.AbstractPlainSocketImpl.setOption:(ILjava/lang/Object;)V
        end local 11 // java.util.Map$Entry entry
        20: .line 126
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        21: .line 129
            goto 23
      StackMap locals: java.net.HttpConnectSocketImpl java.net.SocketAddress int java.net.InetSocketAddress java.lang.String int java.lang.SecurityManager java.lang.String java.net.Socket java.net.AbstractPlainSocketImpl java.util.Set
      StackMap stack: java.io.IOException
        22: pop
        23: .line 130
      StackMap locals:
      StackMap stack:
            return
        end local 10 // java.util.Set options
        end local 9 // java.net.AbstractPlainSocketImpl psi
        end local 8 // java.net.Socket httpSocket
        end local 7 // java.lang.String urlString
        end local 6 // java.lang.SecurityManager security
        end local 5 // int destPort
        end local 4 // java.lang.String destHost
        end local 3 // java.net.InetSocketAddress epoint
        end local 2 // int timeout
        end local 1 // java.net.SocketAddress endpoint
        end local 0 // java.net.HttpConnectSocketImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Ljava/net/HttpConnectSocketImpl;
            0   24     1    endpoint  Ljava/net/SocketAddress;
            0   24     2     timeout  I
            3   24     3      epoint  Ljava/net/InetSocketAddress;
            6   24     4    destHost  Ljava/lang/String;
            7   24     5    destPort  I
            8   24     6    security  Ljava/lang/SecurityManager;
           11   24     7   urlString  Ljava/lang/String;
           12   24     8  httpSocket  Ljava/net/Socket;
           15   24     9         psi  Ljava/net/AbstractPlainSocketImpl;
           17   24    10     options  Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/Integer;Ljava/lang/Object;>;>;
           19   20    11       entry  Ljava/util/Map$Entry<Ljava/lang/Integer;Ljava/lang/Object;>;
      Exception table:
        from    to  target  type
          17    21      22  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      endpoint  
      timeout   

  public void setOption(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.net.HttpConnectSocketImpl this
        start local 1 // int opt
        start local 2 // java.lang.Object val
         0: .line 134
            aload 0 /* this */
            iload 1 /* opt */
            aload 2 /* val */
            invokespecial java.net.PlainSocketImpl.setOption:(ILjava/lang/Object;)V
         1: .line 136
            aload 0 /* this */
            getfield java.net.HttpConnectSocketImpl.external_address:Ljava/net/InetSocketAddress;
            ifnull 3
         2: .line 137
            return
         3: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.HttpConnectSocketImpl.optionsMap:Ljava/util/HashMap;
            iload 1 /* opt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* val */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 141
            return
        end local 2 // java.lang.Object val
        end local 1 // int opt
        end local 0 // java.net.HttpConnectSocketImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/net/HttpConnectSocketImpl;
            0    5     1   opt  I
            0    5     2   val  Ljava/lang/Object;
    Exceptions:
      throws java.net.SocketException
    MethodParameters:
      Name  Flags
      opt   
      val   

  private java.net.Socket privilegedDoTunnel(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/net/Socket;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.net.HttpConnectSocketImpl this
        start local 1 // java.lang.String urlString
        start local 2 // int timeout
         0: .line 149
            new java.net.HttpConnectSocketImpl$2
            dup
            aload 0 /* this */
            aload 1 /* urlString */
            iload 2 /* timeout */
            invokespecial java.net.HttpConnectSocketImpl$2.<init>:(Ljava/net/HttpConnectSocketImpl;Ljava/lang/String;I)V
         1: .line 148
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.net.Socket
         2: areturn
         3: .line 154
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
            astore 3 /* pae */
        start local 3 // java.security.PrivilegedActionException pae
         4: .line 155
            aload 3 /* pae */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            checkcast java.io.IOException
            athrow
        end local 3 // java.security.PrivilegedActionException pae
        end local 2 // int timeout
        end local 1 // java.lang.String urlString
        end local 0 // java.net.HttpConnectSocketImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Ljava/net/HttpConnectSocketImpl;
            0    5     1  urlString  Ljava/lang/String;
            0    5     2    timeout  I
            4    5     3        pae  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.security.PrivilegedActionException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      urlString  final
      timeout    final

  private java.net.Socket doTunnel(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/net/Socket;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // java.net.HttpConnectSocketImpl this
        start local 1 // java.lang.String urlString
        start local 2 // int connectTimeout
         0: .line 162
            new java.net.Proxy
            dup
            getstatic java.net.Proxy$Type.HTTP:Ljava/net/Proxy$Type;
            new java.net.InetSocketAddress
            dup
            aload 0 /* this */
            getfield java.net.HttpConnectSocketImpl.server:Ljava/lang/String;
            aload 0 /* this */
            getfield java.net.HttpConnectSocketImpl.port:I
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/lang/String;I)V
            invokespecial java.net.Proxy.<init>:(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V
            astore 3 /* proxy */
        start local 3 // java.net.Proxy proxy
         1: .line 163
            new java.net.URL
            dup
            aload 1 /* urlString */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 4 /* destURL */
        start local 4 // java.net.URL destURL
         2: .line 164
            aload 4 /* destURL */
            aload 3 /* proxy */
            invokevirtual java.net.URL.openConnection:(Ljava/net/Proxy;)Ljava/net/URLConnection;
            checkcast java.net.HttpURLConnection
            astore 5 /* conn */
        start local 5 // java.net.HttpURLConnection conn
         3: .line 165
            aload 5 /* conn */
            iload 2 /* connectTimeout */
            invokevirtual java.net.HttpURLConnection.setConnectTimeout:(I)V
         4: .line 166
            aload 5 /* conn */
            aload 0 /* this */
            getfield java.net.HttpConnectSocketImpl.timeout:I
            invokevirtual java.net.HttpURLConnection.setReadTimeout:(I)V
         5: .line 167
            aload 5 /* conn */
            invokevirtual java.net.HttpURLConnection.connect:()V
         6: .line 168
            aload 0 /* this */
            aload 5 /* conn */
            invokevirtual java.net.HttpConnectSocketImpl.doTunneling:(Ljava/net/HttpURLConnection;)V
         7: .line 170
            getstatic java.net.HttpConnectSocketImpl.httpField:Ljava/lang/reflect/Field;
            aload 5 /* conn */
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* httpClient */
        start local 6 // java.lang.Object httpClient
         8: .line 171
            getstatic java.net.HttpConnectSocketImpl.serverSocketField:Ljava/lang/reflect/Field;
            aload 6 /* httpClient */
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.net.Socket
         9: areturn
        end local 6 // java.lang.Object httpClient
        10: .line 172
      StackMap locals: java.net.HttpConnectSocketImpl java.lang.String int java.net.Proxy java.net.URL java.net.HttpURLConnection
      StackMap stack: java.lang.IllegalAccessException
            astore 6 /* x */
        start local 6 // java.lang.IllegalAccessException x
        11: .line 173
            new java.lang.InternalError
            dup
            ldc "Should not reach here"
            aload 6 /* x */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.IllegalAccessException x
        end local 5 // java.net.HttpURLConnection conn
        end local 4 // java.net.URL destURL
        end local 3 // java.net.Proxy proxy
        end local 2 // int connectTimeout
        end local 1 // java.lang.String urlString
        end local 0 // java.net.HttpConnectSocketImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Ljava/net/HttpConnectSocketImpl;
            0   12     1       urlString  Ljava/lang/String;
            0   12     2  connectTimeout  I
            1   12     3           proxy  Ljava/net/Proxy;
            2   12     4         destURL  Ljava/net/URL;
            3   12     5            conn  Ljava/net/HttpURLConnection;
            8   10     6      httpClient  Ljava/lang/Object;
           11   12     6               x  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           7     9      10  Class java.lang.IllegalAccessException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      urlString       
      connectTimeout  

  private void doTunneling(java.net.HttpURLConnection);
    descriptor: (Ljava/net/HttpURLConnection;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.net.HttpConnectSocketImpl this
        start local 1 // java.net.HttpURLConnection conn
         0: .line 179
            getstatic java.net.HttpConnectSocketImpl.doTunneling:Ljava/lang/reflect/Method;
            aload 1 /* conn */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 180
            goto 4
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
         2: astore 2 /* x */
        start local 2 // java.lang.ReflectiveOperationException x
         3: .line 181
            new java.lang.InternalError
            dup
            ldc "Should not reach here"
            aload 2 /* x */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.ReflectiveOperationException x
         4: .line 183
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.net.HttpURLConnection conn
        end local 0 // java.net.HttpConnectSocketImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/net/HttpConnectSocketImpl;
            0    5     1  conn  Ljava/net/HttpURLConnection;
            3    4     2     x  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ReflectiveOperationException
    MethodParameters:
      Name  Flags
      conn  

  protected java.net.InetAddress getInetAddress();
    descriptor: ()Ljava/net/InetAddress;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.HttpConnectSocketImpl this
         0: .line 187
            aload 0 /* this */
            getfield java.net.HttpConnectSocketImpl.external_address:Ljava/net/InetSocketAddress;
            ifnull 2
         1: .line 188
            aload 0 /* this */
            getfield java.net.HttpConnectSocketImpl.external_address:Ljava/net/InetSocketAddress;
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            areturn
         2: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial java.net.PlainSocketImpl.getInetAddress:()Ljava/net/InetAddress;
            areturn
        end local 0 // java.net.HttpConnectSocketImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/net/HttpConnectSocketImpl;

  protected int getPort();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.HttpConnectSocketImpl this
         0: .line 195
            aload 0 /* this */
            getfield java.net.HttpConnectSocketImpl.external_address:Ljava/net/InetSocketAddress;
            ifnull 2
         1: .line 196
            aload 0 /* this */
            getfield java.net.HttpConnectSocketImpl.external_address:Ljava/net/InetSocketAddress;
            invokevirtual java.net.InetSocketAddress.getPort:()I
            ireturn
         2: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial java.net.PlainSocketImpl.getPort:()I
            ireturn
        end local 0 // java.net.HttpConnectSocketImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/net/HttpConnectSocketImpl;

  protected int getLocalPort();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.HttpConnectSocketImpl this
         0: .line 203
            aload 0 /* this */
            getfield java.net.HttpConnectSocketImpl.socket:Ljava/net/Socket;
            ifnull 2
         1: .line 204
            aload 0 /* this */
            invokespecial java.net.PlainSocketImpl.getLocalPort:()I
            ireturn
         2: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.HttpConnectSocketImpl.external_address:Ljava/net/InetSocketAddress;
            ifnull 4
         3: .line 206
            aload 0 /* this */
            getfield java.net.HttpConnectSocketImpl.external_address:Ljava/net/InetSocketAddress;
            invokevirtual java.net.InetSocketAddress.getPort:()I
            ireturn
         4: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial java.net.PlainSocketImpl.getLocalPort:()I
            ireturn
        end local 0 // java.net.HttpConnectSocketImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/net/HttpConnectSocketImpl;
}
SourceFile: "HttpConnectSocketImpl.java"
NestMembers:
  java.net.HttpConnectSocketImpl$1  java.net.HttpConnectSocketImpl$2
InnerClasses:
  java.net.HttpConnectSocketImpl$1
  java.net.HttpConnectSocketImpl$2
  public final Type = java.net.Proxy$Type of java.net.Proxy
  public abstract Entry = java.util.Map$Entry of java.util.Map