public class sun.rmi.transport.proxy.RMIMasterSocketFactory extends java.rmi.server.RMISocketFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.rmi.transport.proxy.RMIMasterSocketFactory
  super_class: java.rmi.server.RMISocketFactory
{
  static int logLevel;
    descriptor: I
    flags: (0x0008) ACC_STATIC

  static final sun.rmi.runtime.Log proxyLog;
    descriptor: Lsun/rmi/runtime/Log;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static long connectTimeout;
    descriptor: J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final boolean eagerHttpFallback;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.util.Hashtable<java.lang.String, java.rmi.server.RMISocketFactory> successTable;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/rmi/server/RMISocketFactory;>;

  private static final int MaxRememberedHosts;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  private java.util.Vector<java.lang.String> hostList;
    descriptor: Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Vector<Ljava/lang/String;>;

  protected java.rmi.server.RMISocketFactory initialFactory;
    descriptor: Ljava/rmi/server/RMISocketFactory;
    flags: (0x0004) ACC_PROTECTED

  protected java.util.Vector<java.rmi.server.RMISocketFactory> altFactoryList;
    descriptor: Ljava/util/Vector;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Vector<Ljava/rmi/server/RMISocketFactory;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 51
            invokestatic sun.rmi.transport.proxy.RMIMasterSocketFactory.getLogLevel:()Ljava/lang/String;
            invokestatic java.rmi.server.LogStream.parseLevel:(Ljava/lang/String;)I
            putstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.logLevel:I
         1: .line 60
            ldc "sun.rmi.transport.tcp.proxy"
         2: .line 61
            ldc "transport"
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.logLevel:I
         3: .line 60
            invokestatic sun.rmi.runtime.Log.getLog:(Ljava/lang/String;Ljava/lang/String;I)Lsun/rmi/runtime/Log;
         4: .line 59
            putstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
         5: .line 64
            invokestatic sun.rmi.transport.proxy.RMIMasterSocketFactory.getConnectTimeout:()J
            putstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.connectTimeout:J
         6: .line 74
            new sun.security.action.GetBooleanAction
            dup
         7: .line 75
            ldc "sun.rmi.transport.proxy.eagerHttpFallback"
         8: .line 74
            invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
         9: .line 75
            invokevirtual java.lang.Boolean.booleanValue:()Z
        10: .line 73
            putstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.eagerHttpFallback:Z
        11: .line 82
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String getLogLevel();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 55
            new sun.security.action.GetPropertyAction
            dup
            ldc "sun.rmi.transport.proxy.logLevel"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         1: .line 54
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static long getConnectTimeout();
    descriptor: ()J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 68
            new sun.security.action.GetLongAction
            dup
            ldc "sun.rmi.transport.proxy.connectTimeout"
         1: .line 69
            ldc 15000
         2: .line 68
            invokespecial sun.security.action.GetLongAction.<init>:(Ljava/lang/String;J)V
         3: .line 67
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Long
         4: .line 69
            invokevirtual java.lang.Long.longValue:()J
         5: .line 67
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // sun.rmi.transport.proxy.RMIMasterSocketFactory this
         0: .line 99
            aload 0 /* this */
            invokespecial java.rmi.server.RMISocketFactory.<init>:()V
         1: .line 78
            aload 0 /* this */
         2: .line 79
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield sun.rmi.transport.proxy.RMIMasterSocketFactory.successTable:Ljava/util/Hashtable;
         3: .line 85
            aload 0 /* this */
            new java.util.Vector
            dup
            bipush 64
            invokespecial java.util.Vector.<init>:(I)V
            putfield sun.rmi.transport.proxy.RMIMasterSocketFactory.hostList:Ljava/util/Vector;
         4: .line 88
            aload 0 /* this */
            new sun.rmi.transport.proxy.RMIDirectSocketFactory
            dup
            invokespecial sun.rmi.transport.proxy.RMIDirectSocketFactory.<init>:()V
            putfield sun.rmi.transport.proxy.RMIMasterSocketFactory.initialFactory:Ljava/rmi/server/RMISocketFactory;
         5: .line 100
            aload 0 /* this */
            new java.util.Vector
            dup
            iconst_2
            invokespecial java.util.Vector.<init>:(I)V
            putfield sun.rmi.transport.proxy.RMIMasterSocketFactory.altFactoryList:Ljava/util/Vector;
         6: .line 101
            iconst_0
            istore 1 /* setFactories */
        start local 1 // boolean setFactories
         7: .line 106
            new sun.security.action.GetPropertyAction
            dup
            ldc "http.proxyHost"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         8: .line 105
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* proxyHost */
        start local 2 // java.lang.String proxyHost
         9: .line 108
            aload 2 /* proxyHost */
            ifnonnull 12
        10: .line 110
            new sun.security.action.GetPropertyAction
            dup
            ldc "proxyHost"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
        11: .line 109
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* proxyHost */
        12: .line 113
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory int java.lang.String
      StackMap stack:
            new sun.security.action.GetBooleanAction
            dup
            ldc "java.rmi.server.disableHttp"
            invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
        13: .line 112
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 3 /* tmp */
        start local 3 // java.lang.Boolean tmp
        14: .line 115
            aload 3 /* tmp */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 20
        15: .line 116
            aload 2 /* proxyHost */
            ifnull 20
            aload 2 /* proxyHost */
            invokevirtual java.lang.String.length:()I
            ifle 20
        16: .line 117
            iconst_1
            istore 1 /* setFactories */
        end local 3 // java.lang.Boolean tmp
        end local 2 // java.lang.String proxyHost
        17: .line 119
            goto 20
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory int
      StackMap stack: java.lang.Exception
        18: pop
        19: .line 121
            iconst_1
            istore 1 /* setFactories */
        20: .line 124
      StackMap locals:
      StackMap stack:
            iload 1 /* setFactories */
            ifeq 23
        21: .line 125
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.altFactoryList:Ljava/util/Vector;
            new sun.rmi.transport.proxy.RMIHttpToPortSocketFactory
            dup
            invokespecial sun.rmi.transport.proxy.RMIHttpToPortSocketFactory.<init>:()V
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        22: .line 126
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.altFactoryList:Ljava/util/Vector;
            new sun.rmi.transport.proxy.RMIHttpToCGISocketFactory
            dup
            invokespecial sun.rmi.transport.proxy.RMIHttpToCGISocketFactory.<init>:()V
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        23: .line 128
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean setFactories
        end local 0 // sun.rmi.transport.proxy.RMIMasterSocketFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0          this  Lsun/rmi/transport/proxy/RMIMasterSocketFactory;
            7   24     1  setFactories  Z
            9   17     2     proxyHost  Ljava/lang/String;
           14   17     3           tmp  Ljava/lang/Boolean;
      Exception table:
        from    to  target  type
           7    17      18  Class java.lang.Exception

  public java.net.Socket createSocket(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/net/Socket;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=21, args_size=3
        start local 0 // sun.rmi.transport.proxy.RMIMasterSocketFactory this
        start local 1 // java.lang.String host
        start local 2 // int port
         0: .line 139
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 2
         1: .line 140
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "host: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* host */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", port: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
         2: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.altFactoryList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            ifne 4
         3: .line 148
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.initialFactory:Ljava/rmi/server/RMISocketFactory;
            aload 1 /* host */
            iload 2 /* port */
            invokevirtual java.rmi.server.RMISocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
            areturn
         4: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.successTable:Ljava/util/Hashtable;
            aload 1 /* host */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.rmi.server.RMISocketFactory
            astore 3 /* factory */
        start local 3 // java.rmi.server.RMISocketFactory factory
         5: .line 158
            aload 3 /* factory */
            ifnull 11
         6: .line 159
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 10
         7: .line 160
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
         8: .line 161
            new java.lang.StringBuilder
            dup
            ldc "previously successful factory found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* factory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 160
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        10: .line 163
      StackMap locals: java.rmi.server.RMISocketFactory
      StackMap stack:
            aload 3 /* factory */
            aload 1 /* host */
            iload 2 /* port */
            invokevirtual java.rmi.server.RMISocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
            areturn
        11: .line 171
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* initialSocket */
        start local 4 // java.net.Socket initialSocket
        12: .line 172
            aconst_null
            astore 5 /* fallbackSocket */
        start local 5 // java.net.Socket fallbackSocket
        13: .line 174
            new sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.initialFactory:Ljava/rmi/server/RMISocketFactory;
            aload 1 /* host */
            iload 2 /* port */
        14: .line 175
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
        15: .line 174
            invokespecial sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.<init>:(Lsun/rmi/transport/proxy/RMIMasterSocketFactory;Ljava/rmi/server/RMISocketFactory;Ljava/lang/String;ILjava/security/AccessControlContext;)V
        16: .line 173
            astore 6 /* connector */
        start local 6 // sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector connector
        17: .line 178
            aconst_null
            astore 7 /* initialFailure */
        start local 7 // java.io.IOException initialFailure
        18: .line 181
            aload 6 /* connector */
            dup
            astore 8
            monitorenter
        19: .line 184
            new sun.rmi.runtime.NewThreadAction
            dup
            aload 6 /* connector */
            ldc "AsyncConnector"
            iconst_1
            invokespecial sun.rmi.runtime.NewThreadAction.<init>:(Ljava/lang/Runnable;Ljava/lang/String;Z)V
        20: .line 183
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Thread
            astore 9 /* t */
        start local 9 // java.lang.Thread t
        21: .line 185
            aload 9 /* t */
            invokevirtual java.lang.Thread.start:()V
        22: .line 188
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 10 /* now */
        start local 10 // long now
        23: .line 189
            lload 10 /* now */
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.connectTimeout:J
            ladd
            lstore 12 /* deadline */
        start local 12 // long deadline
        24: .line 191
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.lang.Thread long long
      StackMap stack:
            aload 6 /* connector */
            lload 12 /* deadline */
            lload 10 /* now */
            lsub
            invokevirtual java.lang.Object.wait:(J)V
        25: .line 192
            aload 0 /* this */
            aload 6 /* connector */
            invokevirtual sun.rmi.transport.proxy.RMIMasterSocketFactory.checkConnector:(Lsun/rmi/transport/proxy/RMIMasterSocketFactory$AsyncConnector;)Ljava/net/Socket;
            astore 4 /* initialSocket */
        26: .line 193
            aload 4 /* initialSocket */
            ifnull 28
        27: .line 194
            goto 36
        28: .line 195
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 10 /* now */
        29: .line 196
            lload 10 /* now */
            lload 12 /* deadline */
        30: .line 190
            lcmp
            iflt 24
        end local 12 // long deadline
        end local 10 // long now
        31: .line 197
            goto 36
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.lang.Thread
      StackMap stack: java.lang.InterruptedException
        32: pop
        33: .line 198
            new java.io.InterruptedIOException
            dup
        34: .line 199
            ldc "interrupted while waiting for connector"
        35: .line 198
            invokespecial java.io.InterruptedIOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.Thread t
        36: .line 181
      StackMap locals:
      StackMap stack:
            aload 8
            monitorexit
        37: goto 40
      StackMap locals:
      StackMap stack: java.lang.Throwable
        38: aload 8
            monitorexit
        39: athrow
        40: .line 204
      StackMap locals:
      StackMap stack:
            aload 4 /* initialSocket */
            ifnonnull 44
        41: .line 205
            new java.net.NoRouteToHostException
            dup
        42: .line 206
            new java.lang.StringBuilder
            dup
            ldc "connect timed out: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* host */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        43: .line 205
            invokespecial java.net.NoRouteToHostException.<init>:(Ljava/lang/String;)V
            athrow
        44: .line 208
      StackMap locals:
      StackMap stack:
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            ldc "direct socket connection successful"
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        45: .line 210
            aload 4 /* initialSocket */
            astore 15
        46: .line 221
            aload 7 /* initialFailure */
            ifnull 80
        47: .line 223
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 51
        48: .line 224
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
        49: .line 225
            ldc "direct socket connection failed: "
            aload 7 /* initialFailure */
        50: .line 224
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        51: .line 229
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException top top top top top top top java.net.Socket
      StackMap stack:
            iconst_0
            istore 16 /* i */
        start local 16 // int i
        52: goto 79
        53: .line 230
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.altFactoryList:Ljava/util/Vector;
            iload 16 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast java.rmi.server.RMISocketFactory
            astore 3 /* factory */
        54: .line 231
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 58
        55: .line 232
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
        56: .line 233
            new java.lang.StringBuilder
            dup
            ldc "trying with factory: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* factory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        57: .line 232
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        58: .line 235
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 17
            aconst_null
            astore 18
        59: .line 236
            aload 3 /* factory */
            aload 1 /* host */
            iload 2 /* port */
            invokevirtual java.rmi.server.RMISocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
        60: .line 235
            astore 19 /* testSocket */
        start local 19 // java.net.Socket testSocket
        61: .line 242
            aload 19 /* testSocket */
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            astore 20 /* in */
        start local 20 // java.io.InputStream in
        62: .line 243
            aload 20 /* in */
            invokevirtual java.io.InputStream.read:()I
            pop
        end local 20 // java.io.InputStream in
        63: .line 244
            aload 19 /* testSocket */
            ifnull 73
            aload 19 /* testSocket */
            invokevirtual java.net.Socket.close:()V
            goto 73
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException top top top top top top top java.net.Socket int java.lang.Throwable java.lang.Throwable java.net.Socket
      StackMap stack: java.lang.Throwable
        64: astore 17
            aload 19 /* testSocket */
            ifnull 65
            aload 19 /* testSocket */
            invokevirtual java.net.Socket.close:()V
        end local 19 // java.net.Socket testSocket
      StackMap locals:
      StackMap stack:
        65: aload 17
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        66: astore 18
            aload 17
            ifnonnull 67
            aload 18
            astore 17
            goto 68
      StackMap locals:
      StackMap stack:
        67: aload 17
            aload 18
            if_acmpeq 68
            aload 17
            aload 18
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        68: aload 17
            athrow
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException top top top top top top top java.net.Socket int
      StackMap stack: java.io.IOException
        69: astore 17 /* ex */
        start local 17 // java.io.IOException ex
        70: .line 245
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 78
        71: .line 246
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            ldc "factory failed: "
            aload 17 /* ex */
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        72: .line 249
            goto 78
        end local 17 // java.io.IOException ex
        73: .line 251
      StackMap locals:
      StackMap stack:
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            ldc "factory succeeded"
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        74: .line 255
            aload 3 /* factory */
            aload 1 /* host */
            iload 2 /* port */
            invokevirtual java.rmi.server.RMISocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
            astore 5 /* fallbackSocket */
        75: .line 256
            goto 80
      StackMap locals:
      StackMap stack: java.io.IOException
        76: pop
        77: .line 258
            goto 80
        78: .line 229
      StackMap locals:
      StackMap stack:
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
        79: iload 16 /* i */
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.altFactoryList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 53
        end local 16 // int i
        80: .line 210
      StackMap locals:
      StackMap stack:
            aload 15
            areturn
        81: .line 212
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException
      StackMap stack: java.io.IOException
            astore 8 /* e */
        start local 8 // java.io.IOException e
        82: .line 213
            aload 8 /* e */
            astore 7 /* initialFailure */
        end local 8 // java.io.IOException e
        83: .line 221
            aload 7 /* initialFailure */
            ifnull 194
        84: .line 223
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 88
        85: .line 224
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
        86: .line 225
            ldc "direct socket connection failed: "
            aload 7 /* initialFailure */
        87: .line 224
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        88: .line 229
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 16 /* i */
        start local 16 // int i
        89: goto 116
        90: .line 230
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException top top top top top top top top int
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.altFactoryList:Ljava/util/Vector;
            iload 16 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast java.rmi.server.RMISocketFactory
            astore 3 /* factory */
        91: .line 231
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 95
        92: .line 232
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
        93: .line 233
            new java.lang.StringBuilder
            dup
            ldc "trying with factory: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* factory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        94: .line 232
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        95: .line 235
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 17
            aconst_null
            astore 18
        96: .line 236
            aload 3 /* factory */
            aload 1 /* host */
            iload 2 /* port */
            invokevirtual java.rmi.server.RMISocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
        97: .line 235
            astore 19 /* testSocket */
        start local 19 // java.net.Socket testSocket
        98: .line 242
            aload 19 /* testSocket */
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            astore 20 /* in */
        start local 20 // java.io.InputStream in
        99: .line 243
            aload 20 /* in */
            invokevirtual java.io.InputStream.read:()I
            pop
        end local 20 // java.io.InputStream in
       100: .line 244
            aload 19 /* testSocket */
            ifnull 110
            aload 19 /* testSocket */
            invokevirtual java.net.Socket.close:()V
            goto 110
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException top top top top top top top top int java.lang.Throwable java.lang.Throwable java.net.Socket
      StackMap stack: java.lang.Throwable
       101: astore 17
            aload 19 /* testSocket */
            ifnull 102
            aload 19 /* testSocket */
            invokevirtual java.net.Socket.close:()V
        end local 19 // java.net.Socket testSocket
      StackMap locals:
      StackMap stack:
       102: aload 17
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       103: astore 18
            aload 17
            ifnonnull 104
            aload 18
            astore 17
            goto 105
      StackMap locals:
      StackMap stack:
       104: aload 17
            aload 18
            if_acmpeq 105
            aload 17
            aload 18
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       105: aload 17
            athrow
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException top top top top top top top top int
      StackMap stack: java.io.IOException
       106: astore 17 /* ex */
        start local 17 // java.io.IOException ex
       107: .line 245
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 115
       108: .line 246
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            ldc "factory failed: "
            aload 17 /* ex */
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
       109: .line 249
            goto 115
        end local 17 // java.io.IOException ex
       110: .line 251
      StackMap locals:
      StackMap stack:
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            ldc "factory succeeded"
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
       111: .line 255
            aload 3 /* factory */
            aload 1 /* host */
            iload 2 /* port */
            invokevirtual java.rmi.server.RMISocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
            astore 5 /* fallbackSocket */
       112: .line 256
            goto 194
      StackMap locals:
      StackMap stack: java.io.IOException
       113: pop
       114: .line 258
            goto 194
       115: .line 229
      StackMap locals:
      StackMap stack:
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
       116: iload 16 /* i */
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.altFactoryList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 90
        end local 16 // int i
       117: goto 194
       118: .line 214
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException
      StackMap stack: java.net.SocketException
            astore 8 /* e */
        start local 8 // java.net.SocketException e
       119: .line 215
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.eagerHttpFallback:Z
            ifeq 122
       120: .line 216
            aload 8 /* e */
            astore 7 /* initialFailure */
       121: .line 217
            goto 123
       122: .line 218
      StackMap locals: java.net.SocketException
      StackMap stack:
            aload 8 /* e */
            athrow
        end local 8 // java.net.SocketException e
       123: .line 221
      StackMap locals:
      StackMap stack:
            aload 7 /* initialFailure */
            ifnull 194
       124: .line 223
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 128
       125: .line 224
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
       126: .line 225
            ldc "direct socket connection failed: "
            aload 7 /* initialFailure */
       127: .line 224
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
       128: .line 229
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 16 /* i */
        start local 16 // int i
       129: goto 156
       130: .line 230
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException top top top top top top top top int
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.altFactoryList:Ljava/util/Vector;
            iload 16 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast java.rmi.server.RMISocketFactory
            astore 3 /* factory */
       131: .line 231
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 135
       132: .line 232
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
       133: .line 233
            new java.lang.StringBuilder
            dup
            ldc "trying with factory: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* factory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       134: .line 232
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
       135: .line 235
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 17
            aconst_null
            astore 18
       136: .line 236
            aload 3 /* factory */
            aload 1 /* host */
            iload 2 /* port */
            invokevirtual java.rmi.server.RMISocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
       137: .line 235
            astore 19 /* testSocket */
        start local 19 // java.net.Socket testSocket
       138: .line 242
            aload 19 /* testSocket */
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            astore 20 /* in */
        start local 20 // java.io.InputStream in
       139: .line 243
            aload 20 /* in */
            invokevirtual java.io.InputStream.read:()I
            pop
        end local 20 // java.io.InputStream in
       140: .line 244
            aload 19 /* testSocket */
            ifnull 150
            aload 19 /* testSocket */
            invokevirtual java.net.Socket.close:()V
            goto 150
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException top top top top top top top top int java.lang.Throwable java.lang.Throwable java.net.Socket
      StackMap stack: java.lang.Throwable
       141: astore 17
            aload 19 /* testSocket */
            ifnull 142
            aload 19 /* testSocket */
            invokevirtual java.net.Socket.close:()V
        end local 19 // java.net.Socket testSocket
      StackMap locals:
      StackMap stack:
       142: aload 17
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       143: astore 18
            aload 17
            ifnonnull 144
            aload 18
            astore 17
            goto 145
      StackMap locals:
      StackMap stack:
       144: aload 17
            aload 18
            if_acmpeq 145
            aload 17
            aload 18
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       145: aload 17
            athrow
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException top top top top top top top top int
      StackMap stack: java.io.IOException
       146: astore 17 /* ex */
        start local 17 // java.io.IOException ex
       147: .line 245
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 155
       148: .line 246
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            ldc "factory failed: "
            aload 17 /* ex */
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
       149: .line 249
            goto 155
        end local 17 // java.io.IOException ex
       150: .line 251
      StackMap locals:
      StackMap stack:
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            ldc "factory succeeded"
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
       151: .line 255
            aload 3 /* factory */
            aload 1 /* host */
            iload 2 /* port */
            invokevirtual java.rmi.server.RMISocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
            astore 5 /* fallbackSocket */
       152: .line 256
            goto 194
      StackMap locals:
      StackMap stack: java.io.IOException
       153: pop
       154: .line 258
            goto 194
       155: .line 229
      StackMap locals:
      StackMap stack:
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
       156: iload 16 /* i */
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.altFactoryList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 130
        end local 16 // int i
       157: goto 194
       158: .line 220
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException
      StackMap stack: java.lang.Throwable
            astore 14
       159: .line 221
            aload 7 /* initialFailure */
            ifnull 193
       160: .line 223
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 164
       161: .line 224
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
       162: .line 225
            ldc "direct socket connection failed: "
            aload 7 /* initialFailure */
       163: .line 224
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
       164: .line 229
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException top top top top top top java.lang.Throwable
      StackMap stack:
            iconst_0
            istore 16 /* i */
        start local 16 // int i
       165: goto 192
       166: .line 230
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException top top top top top top java.lang.Throwable top int
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.altFactoryList:Ljava/util/Vector;
            iload 16 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast java.rmi.server.RMISocketFactory
            astore 3 /* factory */
       167: .line 231
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 171
       168: .line 232
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
       169: .line 233
            new java.lang.StringBuilder
            dup
            ldc "trying with factory: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* factory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       170: .line 232
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
       171: .line 235
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 17
            aconst_null
            astore 18
       172: .line 236
            aload 3 /* factory */
            aload 1 /* host */
            iload 2 /* port */
            invokevirtual java.rmi.server.RMISocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
       173: .line 235
            astore 19 /* testSocket */
        start local 19 // java.net.Socket testSocket
       174: .line 242
            aload 19 /* testSocket */
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            astore 20 /* in */
        start local 20 // java.io.InputStream in
       175: .line 243
            aload 20 /* in */
            invokevirtual java.io.InputStream.read:()I
            pop
        end local 20 // java.io.InputStream in
       176: .line 244
            aload 19 /* testSocket */
            ifnull 186
            aload 19 /* testSocket */
            invokevirtual java.net.Socket.close:()V
            goto 186
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException top top top top top top java.lang.Throwable top int java.lang.Throwable java.lang.Throwable java.net.Socket
      StackMap stack: java.lang.Throwable
       177: astore 17
            aload 19 /* testSocket */
            ifnull 178
            aload 19 /* testSocket */
            invokevirtual java.net.Socket.close:()V
        end local 19 // java.net.Socket testSocket
      StackMap locals:
      StackMap stack:
       178: aload 17
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       179: astore 18
            aload 17
            ifnonnull 180
            aload 18
            astore 17
            goto 181
      StackMap locals:
      StackMap stack:
       180: aload 17
            aload 18
            if_acmpeq 181
            aload 17
            aload 18
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       181: aload 17
            athrow
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException top top top top top top java.lang.Throwable top int
      StackMap stack: java.io.IOException
       182: astore 17 /* ex */
        start local 17 // java.io.IOException ex
       183: .line 245
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            invokevirtual sun.rmi.runtime.Log.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 191
       184: .line 246
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            ldc "factory failed: "
            aload 17 /* ex */
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
       185: .line 249
            goto 191
        end local 17 // java.io.IOException ex
       186: .line 251
      StackMap locals:
      StackMap stack:
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
            ldc "factory succeeded"
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
       187: .line 255
            aload 3 /* factory */
            aload 1 /* host */
            iload 2 /* port */
            invokevirtual java.rmi.server.RMISocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
            astore 5 /* fallbackSocket */
       188: .line 256
            goto 193
      StackMap locals:
      StackMap stack: java.io.IOException
       189: pop
       190: .line 258
            goto 193
       191: .line 229
      StackMap locals:
      StackMap stack:
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
       192: iload 16 /* i */
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.altFactoryList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 166
        end local 16 // int i
       193: .line 261
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException top top top top top top java.lang.Throwable
      StackMap stack:
            aload 14
            athrow
       194: .line 263
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.successTable:Ljava/util/Hashtable;
            dup
            astore 8
            monitorenter
       195: .line 266
            aload 6 /* connector */
            dup
            astore 9
            monitorenter
       196: .line 267
            aload 0 /* this */
            aload 6 /* connector */
            invokevirtual sun.rmi.transport.proxy.RMIMasterSocketFactory.checkConnector:(Lsun/rmi/transport/proxy/RMIMasterSocketFactory$AsyncConnector;)Ljava/net/Socket;
            astore 4 /* initialSocket */
       197: .line 266
            aload 9
            monitorexit
       198: goto 201
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory java.lang.String int java.rmi.server.RMISocketFactory java.net.Socket java.net.Socket sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector java.io.IOException java.util.Hashtable sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector
      StackMap stack: java.lang.Throwable
       199: aload 9
            monitorexit
       200: athrow
       201: .line 269
      StackMap locals:
      StackMap stack:
            aload 4 /* initialSocket */
            ifnull 207
       202: .line 271
            aload 5 /* fallbackSocket */
            ifnull 204
       203: .line 272
            aload 5 /* fallbackSocket */
            invokevirtual java.net.Socket.close:()V
       204: .line 273
      StackMap locals:
      StackMap stack:
            aload 4 /* initialSocket */
       205: aload 8
            monitorexit
       206: areturn
       207: .line 276
      StackMap locals:
      StackMap stack:
            aload 6 /* connector */
            invokevirtual sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.notUsed:()V
       208: .line 277
            goto 217
      StackMap locals:
      StackMap stack: java.io.IOException
       209: astore 9 /* e */
        start local 9 // java.io.IOException e
       210: .line 278
            aload 9 /* e */
            astore 7 /* initialFailure */
        end local 9 // java.io.IOException e
       211: goto 217
       212: .line 279
      StackMap locals:
      StackMap stack: java.net.SocketException
            astore 9 /* e */
        start local 9 // java.net.SocketException e
       213: .line 280
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.eagerHttpFallback:Z
            ifeq 216
       214: .line 281
            aload 9 /* e */
            astore 7 /* initialFailure */
       215: .line 282
            goto 217
       216: .line 283
      StackMap locals: java.net.SocketException
      StackMap stack:
            aload 9 /* e */
            athrow
        end local 9 // java.net.SocketException e
       217: .line 287
      StackMap locals:
      StackMap stack:
            aload 5 /* fallbackSocket */
            ifnull 221
       218: .line 289
            aload 0 /* this */
            aload 1 /* host */
            aload 3 /* factory */
            invokevirtual sun.rmi.transport.proxy.RMIMasterSocketFactory.rememberFactory:(Ljava/lang/String;Ljava/rmi/server/RMISocketFactory;)V
       219: .line 290
            aload 5 /* fallbackSocket */
            aload 8
            monitorexit
       220: areturn
       221: .line 292
      StackMap locals:
      StackMap stack:
            aload 7 /* initialFailure */
            athrow
       222: .line 263
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 8
            monitorexit
       223: athrow
        end local 7 // java.io.IOException initialFailure
        end local 6 // sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector connector
        end local 5 // java.net.Socket fallbackSocket
        end local 4 // java.net.Socket initialSocket
        end local 3 // java.rmi.server.RMISocketFactory factory
        end local 2 // int port
        end local 1 // java.lang.String host
        end local 0 // sun.rmi.transport.proxy.RMIMasterSocketFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  224     0            this  Lsun/rmi/transport/proxy/RMIMasterSocketFactory;
            0  224     1            host  Ljava/lang/String;
            0  224     2            port  I
            5  224     3         factory  Ljava/rmi/server/RMISocketFactory;
           12  224     4   initialSocket  Ljava/net/Socket;
           13  224     5  fallbackSocket  Ljava/net/Socket;
           17  224     6       connector  Lsun/rmi/transport/proxy/RMIMasterSocketFactory$AsyncConnector;
           18  224     7  initialFailure  Ljava/io/IOException;
           21   36     9               t  Ljava/lang/Thread;
           23   31    10             now  J
           24   31    12        deadline  J
           82   83     8               e  Ljava/io/IOException;
          119  123     8               e  Ljava/net/SocketException;
           52   80    16               i  I
           89  117    16               i  I
          129  157    16               i  I
          165  193    16               i  I
           61   65    19      testSocket  Ljava/net/Socket;
           98  102    19      testSocket  Ljava/net/Socket;
          138  142    19      testSocket  Ljava/net/Socket;
          174  178    19      testSocket  Ljava/net/Socket;
           62   63    20              in  Ljava/io/InputStream;
           99  100    20              in  Ljava/io/InputStream;
          139  140    20              in  Ljava/io/InputStream;
          175  176    20              in  Ljava/io/InputStream;
           70   73    17              ex  Ljava/io/IOException;
          107  110    17              ex  Ljava/io/IOException;
          147  150    17              ex  Ljava/io/IOException;
          183  186    17              ex  Ljava/io/IOException;
          210  211     9               e  Ljava/io/IOException;
          213  217     9               e  Ljava/net/SocketException;
      Exception table:
        from    to  target  type
          22    31      32  Class java.lang.InterruptedException
          19    37      38  any
          38    39      38  any
          61    63      64  any
          59    66      66  any
          58    69      69  Class java.io.IOException
          74    75      76  Class java.io.IOException
          18    46      81  Class java.net.UnknownHostException
          18    46      81  Class java.net.NoRouteToHostException
          98   100     101  any
          96   103     103  any
          95   106     106  Class java.io.IOException
         111   112     113  Class java.io.IOException
          18    46     118  Class java.net.SocketException
         138   140     141  any
         136   143     143  any
         135   146     146  Class java.io.IOException
         151   152     153  Class java.io.IOException
          18    46     158  any
          81    83     158  any
         118   123     158  any
         174   176     177  any
         172   179     179  any
         171   182     182  Class java.io.IOException
         187   188     189  Class java.io.IOException
         196   198     199  any
         199   200     199  any
         195   205     209  Class java.net.UnknownHostException
         207   208     209  Class java.net.UnknownHostException
         195   205     209  Class java.net.NoRouteToHostException
         207   208     209  Class java.net.NoRouteToHostException
         195   205     212  Class java.net.SocketException
         207   208     212  Class java.net.SocketException
         195   206     222  any
         207   220     222  any
         221   223     222  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      host  
      port  

  void rememberFactory(java.lang.String, java.rmi.server.RMISocketFactory);
    descriptor: (Ljava/lang/String;Ljava/rmi/server/RMISocketFactory;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.rmi.transport.proxy.RMIMasterSocketFactory this
        start local 1 // java.lang.String host
        start local 2 // java.rmi.server.RMISocketFactory factory
         0: .line 302
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.successTable:Ljava/util/Hashtable;
            dup
            astore 3
            monitorenter
         1: .line 303
            goto 4
         2: .line 304
      StackMap locals: java.util.Hashtable
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.successTable:Ljava/util/Hashtable;
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.hostList:Ljava/util/Vector;
            iconst_0
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 305
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.hostList:Ljava/util/Vector;
            iconst_0
            invokevirtual java.util.Vector.removeElementAt:(I)V
         4: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.hostList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            bipush 64
            if_icmpge 2
         5: .line 307
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.hostList:Ljava/util/Vector;
            aload 1 /* host */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         6: .line 308
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.successTable:Ljava/util/Hashtable;
            aload 1 /* host */
            aload 2 /* factory */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 302
            aload 3
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 3
            monitorexit
        10: athrow
        11: .line 310
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.rmi.server.RMISocketFactory factory
        end local 1 // java.lang.String host
        end local 0 // sun.rmi.transport.proxy.RMIMasterSocketFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lsun/rmi/transport/proxy/RMIMasterSocketFactory;
            0   12     1     host  Ljava/lang/String;
            0   12     2  factory  Ljava/rmi/server/RMISocketFactory;
      Exception table:
        from    to  target  type
           1     8       9  any
           9    10       9  any
    MethodParameters:
         Name  Flags
      host     
      factory  

  java.net.Socket checkConnector(sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector);
    descriptor: (Lsun/rmi/transport/proxy/RMIMasterSocketFactory$AsyncConnector;)Ljava/net/Socket;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // sun.rmi.transport.proxy.RMIMasterSocketFactory this
        start local 1 // sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector connector
         0: .line 319
            aload 1 /* connector */
            invokevirtual sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.getException:()Ljava/lang/Exception;
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         1: .line 320
            aload 2 /* e */
            ifnull 10
         2: .line 321
            aload 2 /* e */
            invokevirtual java.lang.Exception.fillInStackTrace:()Ljava/lang/Throwable;
            pop
         3: .line 328
            aload 2 /* e */
            instanceof java.io.IOException
            ifeq 5
         4: .line 329
            aload 2 /* e */
            checkcast java.io.IOException
            athrow
         5: .line 330
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 2 /* e */
            instanceof java.lang.RuntimeException
            ifeq 7
         6: .line 331
            aload 2 /* e */
            checkcast java.lang.RuntimeException
            athrow
         7: .line 333
      StackMap locals:
      StackMap stack:
            new java.lang.Error
            dup
            new java.lang.StringBuilder
            dup
            ldc "internal error: unexpected checked exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 334
            aload 2 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 333
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 337
      StackMap locals:
      StackMap stack:
            aload 1 /* connector */
            invokevirtual sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.getSocket:()Ljava/net/Socket;
            areturn
        end local 2 // java.lang.Exception e
        end local 1 // sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector connector
        end local 0 // sun.rmi.transport.proxy.RMIMasterSocketFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lsun/rmi/transport/proxy/RMIMasterSocketFactory;
            0   11     1  connector  Lsun/rmi/transport/proxy/RMIMasterSocketFactory$AsyncConnector;
            1   11     2          e  Ljava/lang/Exception;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      connector  

  public java.net.ServerSocket createServerSocket(int);
    descriptor: (I)Ljava/net/ServerSocket;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.rmi.transport.proxy.RMIMasterSocketFactory this
        start local 1 // int port
         0: .line 345
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.initialFactory:Ljava/rmi/server/RMISocketFactory;
            iload 1 /* port */
            invokevirtual java.rmi.server.RMISocketFactory.createServerSocket:(I)Ljava/net/ServerSocket;
            areturn
        end local 1 // int port
        end local 0 // sun.rmi.transport.proxy.RMIMasterSocketFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/rmi/transport/proxy/RMIMasterSocketFactory;
            0    1     1  port  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      port  
}
SourceFile: "RMIMasterSocketFactory.java"
NestMembers:
  sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector
InnerClasses:
  private AsyncConnector = sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector of sun.rmi.transport.proxy.RMIMasterSocketFactory