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 successTable;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE

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

  private java.util.Vector hostList;
    descriptor: Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE

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

  protected java.util.Vector altFactoryList;
    descriptor: Ljava/util/Vector;
    flags: (0x0004) ACC_PROTECTED

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 50
            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 59
            ldc "sun.rmi.transport.tcp.proxy"
         2: .line 60
            ldc "transport"
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.logLevel:I
         3: .line 59
            invokestatic sun.rmi.runtime.Log.getLog:(Ljava/lang/String;Ljava/lang/String;I)Lsun/rmi/runtime/Log;
         4: .line 58
            putstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
         5: .line 63
            invokestatic sun.rmi.transport.proxy.RMIMasterSocketFactory.getConnectTimeout:()J
            putstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.connectTimeout:J
         6: .line 73
            new sun.security.action.GetBooleanAction
            dup
         7: .line 74
            ldc "sun.rmi.transport.proxy.eagerHttpFallback"
         8: .line 73
            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 74
            invokevirtual java.lang.Boolean.booleanValue:()Z
        10: .line 72
            putstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.eagerHttpFallback:Z
        11: .line 80
            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 54
            new sun.security.action.GetPropertyAction
            dup
            ldc "sun.rmi.transport.proxy.logLevel"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         1: .line 53
            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 67
            new sun.security.action.GetLongAction
            dup
            ldc "sun.rmi.transport.proxy.connectTimeout"
         1: .line 68
            ldc 15000
         2: .line 67
            invokespecial sun.security.action.GetLongAction.<init>:(Ljava/lang/String;J)V
         3: .line 66
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Long
         4: .line 68
            invokevirtual java.lang.Long.longValue:()J
         5: .line 66
            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 97
            aload 0 /* this */
            invokespecial java.rmi.server.RMISocketFactory.<init>:()V
         1: .line 77
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield sun.rmi.transport.proxy.RMIMasterSocketFactory.successTable:Ljava/util/Hashtable;
         2: .line 83
            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;
         3: .line 86
            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;
         4: .line 98
            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;
         5: .line 99
            iconst_0
            istore 1 /* setFactories */
        start local 1 // boolean setFactories
         6: .line 104
            new sun.security.action.GetPropertyAction
            dup
            ldc "http.proxyHost"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         7: .line 103
            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
         8: .line 106
            aload 2 /* proxyHost */
            ifnonnull 11
         9: .line 108
            new sun.security.action.GetPropertyAction
            dup
            ldc "proxyHost"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
        10: .line 107
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* proxyHost */
        11: .line 111
      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
        12: .line 110
            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
        13: .line 113
            aload 3 /* tmp */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 19
        14: .line 114
            aload 2 /* proxyHost */
            ifnull 19
            aload 2 /* proxyHost */
            invokevirtual java.lang.String.length:()I
            ifle 19
        15: .line 115
            iconst_1
            istore 1 /* setFactories */
        end local 3 // java.lang.Boolean tmp
        end local 2 // java.lang.String proxyHost
        16: .line 117
            goto 19
      StackMap locals: sun.rmi.transport.proxy.RMIMasterSocketFactory int
      StackMap stack: java.lang.Exception
        17: pop
        18: .line 119
            iconst_1
            istore 1 /* setFactories */
        19: .line 122
      StackMap locals:
      StackMap stack:
            iload 1 /* setFactories */
            ifeq 22
        20: .line 123
            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
        21: .line 124
            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
        22: .line 126
      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   23     0          this  Lsun/rmi/transport/proxy/RMIMasterSocketFactory;
            6   23     1  setFactories  Z
            8   16     2     proxyHost  Ljava/lang/String;
           13   16     3           tmp  Ljava/lang/Boolean;
      Exception table:
        from    to  target  type
           6    16      17  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=19, 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 137
            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 138
            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 145
      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 146
            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 155
      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 156
            aload 3 /* factory */
            ifnull 11
         6: .line 157
            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 158
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
         8: .line 159
            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 158
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        10: .line 161
      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 169
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* initialSocket */
        start local 4 // java.net.Socket initialSocket
        12: .line 170
            aconst_null
            astore 5 /* fallbackSocket */
        start local 5 // java.net.Socket fallbackSocket
        13: .line 172
            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 173
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
        15: .line 172
            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 171
            astore 6 /* connector */
        start local 6 // sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector connector
        17: .line 176
            aconst_null
            astore 7 /* initialFailure */
        start local 7 // java.io.IOException initialFailure
        18: .line 179
            aload 6 /* connector */
            dup
            astore 8
            monitorenter
        19: .line 182
            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 181
            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 183
            aload 9 /* t */
            invokevirtual java.lang.Thread.start:()V
        22: .line 186
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 10 /* now */
        start local 10 // long now
        23: .line 187
            lload 10 /* now */
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.connectTimeout:J
            ladd
            lstore 12 /* deadline */
        start local 12 // long deadline
        24: .line 189
      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 190
            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 191
            aload 4 /* initialSocket */
            ifnull 28
        27: .line 192
            goto 36
        28: .line 193
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 10 /* now */
        29: .line 194
            lload 10 /* now */
            lload 12 /* deadline */
        30: .line 188
            lcmp
            iflt 24
        end local 12 // long deadline
        end local 10 // long now
        31: .line 195
            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 196
            new java.io.InterruptedIOException
            dup
        34: .line 197
            ldc "interrupted while waiting for connector"
        35: .line 196
            invokespecial java.io.InterruptedIOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.Thread t
        36: .line 179
      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 202
      StackMap locals:
      StackMap stack:
            aload 4 /* initialSocket */
            ifnonnull 44
        41: .line 203
            new java.net.NoRouteToHostException
            dup
        42: .line 204
            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 203
            invokespecial java.net.NoRouteToHostException.<init>:(Ljava/lang/String;)V
            athrow
        44: .line 206
      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 208
            aload 4 /* initialSocket */
            astore 15
        46: .line 221
            aload 7 /* initialFailure */
            ifnull 74
        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 73
        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 232
            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 233
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
        56: .line 234
            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 233
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        58: .line 242
      StackMap locals:
      StackMap stack:
            aload 3 /* factory */
            aload 1 /* host */
            iload 2 /* port */
            invokevirtual java.rmi.server.RMISocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
            astore 17 /* testSocket */
        start local 17 // java.net.Socket testSocket
        59: .line 243
            aload 17 /* testSocket */
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            astore 18 /* in */
        start local 18 // java.io.InputStream in
        60: .line 244
            aload 18 /* in */
            invokevirtual java.io.InputStream.read:()I
            pop
        61: .line 245
            aload 17 /* testSocket */
            invokevirtual java.net.Socket.close:()V
        end local 18 // java.io.InputStream in
        end local 17 // java.net.Socket testSocket
        62: .line 246
            goto 67
      StackMap locals:
      StackMap stack: java.io.IOException
        63: astore 17 /* ex */
        start local 17 // java.io.IOException ex
        64: .line 247
            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 72
        65: .line 248
            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
        66: .line 251
            goto 72
        end local 17 // java.io.IOException ex
        67: .line 253
      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
        68: .line 257
            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 */
        69: .line 258
            goto 74
      StackMap locals:
      StackMap stack: java.io.IOException
        70: pop
        71: .line 260
            goto 74
        72: .line 229
      StackMap locals:
      StackMap stack:
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
        73: 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
        74: .line 208
      StackMap locals:
      StackMap stack:
            aload 15
            areturn
        75: .line 210
      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.UnknownHostException
            astore 8 /* e */
        start local 8 // java.net.UnknownHostException e
        76: .line 211
            aload 8 /* e */
            astore 7 /* initialFailure */
        end local 8 // java.net.UnknownHostException e
        77: .line 221
            aload 7 /* initialFailure */
            ifnull 201
        78: .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 82
        79: .line 224
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
        80: .line 225
            ldc "direct socket connection failed: "
            aload 7 /* initialFailure */
        81: .line 224
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        82: .line 229
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 16 /* i */
        start local 16 // int i
        83: goto 104
        84: .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 */
        85: .line 232
            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 89
        86: .line 233
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
        87: .line 234
            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;
        88: .line 233
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        89: .line 242
      StackMap locals:
      StackMap stack:
            aload 3 /* factory */
            aload 1 /* host */
            iload 2 /* port */
            invokevirtual java.rmi.server.RMISocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
            astore 17 /* testSocket */
        start local 17 // java.net.Socket testSocket
        90: .line 243
            aload 17 /* testSocket */
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            astore 18 /* in */
        start local 18 // java.io.InputStream in
        91: .line 244
            aload 18 /* in */
            invokevirtual java.io.InputStream.read:()I
            pop
        92: .line 245
            aload 17 /* testSocket */
            invokevirtual java.net.Socket.close:()V
        end local 18 // java.io.InputStream in
        end local 17 // java.net.Socket testSocket
        93: .line 246
            goto 98
      StackMap locals:
      StackMap stack: java.io.IOException
        94: astore 17 /* ex */
        start local 17 // java.io.IOException ex
        95: .line 247
            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 103
        96: .line 248
            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
        97: .line 251
            goto 103
        end local 17 // java.io.IOException ex
        98: .line 253
      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
        99: .line 257
            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 */
       100: .line 258
            goto 201
      StackMap locals:
      StackMap stack: java.io.IOException
       101: pop
       102: .line 260
            goto 201
       103: .line 229
      StackMap locals:
      StackMap stack:
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
       104: iload 16 /* i */
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.altFactoryList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 84
        end local 16 // int i
       105: goto 201
       106: .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.net.NoRouteToHostException
            astore 8 /* e */
        start local 8 // java.net.NoRouteToHostException e
       107: .line 213
            aload 8 /* e */
            astore 7 /* initialFailure */
        end local 8 // java.net.NoRouteToHostException e
       108: .line 221
            aload 7 /* initialFailure */
            ifnull 201
       109: .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 113
       110: .line 224
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
       111: .line 225
            ldc "direct socket connection failed: "
            aload 7 /* initialFailure */
       112: .line 224
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
       113: .line 229
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 16 /* i */
        start local 16 // int i
       114: goto 135
       115: .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 */
       116: .line 232
            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 120
       117: .line 233
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
       118: .line 234
            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;
       119: .line 233
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
       120: .line 242
      StackMap locals:
      StackMap stack:
            aload 3 /* factory */
            aload 1 /* host */
            iload 2 /* port */
            invokevirtual java.rmi.server.RMISocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
            astore 17 /* testSocket */
        start local 17 // java.net.Socket testSocket
       121: .line 243
            aload 17 /* testSocket */
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            astore 18 /* in */
        start local 18 // java.io.InputStream in
       122: .line 244
            aload 18 /* in */
            invokevirtual java.io.InputStream.read:()I
            pop
       123: .line 245
            aload 17 /* testSocket */
            invokevirtual java.net.Socket.close:()V
        end local 18 // java.io.InputStream in
        end local 17 // java.net.Socket testSocket
       124: .line 246
            goto 129
      StackMap locals:
      StackMap stack: java.io.IOException
       125: astore 17 /* ex */
        start local 17 // java.io.IOException ex
       126: .line 247
            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 134
       127: .line 248
            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
       128: .line 251
            goto 134
        end local 17 // java.io.IOException ex
       129: .line 253
      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
       130: .line 257
            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 */
       131: .line 258
            goto 201
      StackMap locals:
      StackMap stack: java.io.IOException
       132: pop
       133: .line 260
            goto 201
       134: .line 229
      StackMap locals:
      StackMap stack:
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
       135: iload 16 /* i */
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.altFactoryList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 115
        end local 16 // int i
       136: goto 201
       137: .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
       138: .line 215
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.eagerHttpFallback:Z
            ifeq 141
       139: .line 216
            aload 8 /* e */
            astore 7 /* initialFailure */
       140: .line 217
            goto 142
       141: .line 218
      StackMap locals: java.net.SocketException
      StackMap stack:
            aload 8 /* e */
            athrow
        end local 8 // java.net.SocketException e
       142: .line 221
      StackMap locals:
      StackMap stack:
            aload 7 /* initialFailure */
            ifnull 201
       143: .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 147
       144: .line 224
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
       145: .line 225
            ldc "direct socket connection failed: "
            aload 7 /* initialFailure */
       146: .line 224
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
       147: .line 229
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 16 /* i */
        start local 16 // int i
       148: goto 169
       149: .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 */
       150: .line 232
            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 154
       151: .line 233
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
       152: .line 234
            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;
       153: .line 233
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
       154: .line 242
      StackMap locals:
      StackMap stack:
            aload 3 /* factory */
            aload 1 /* host */
            iload 2 /* port */
            invokevirtual java.rmi.server.RMISocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
            astore 17 /* testSocket */
        start local 17 // java.net.Socket testSocket
       155: .line 243
            aload 17 /* testSocket */
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            astore 18 /* in */
        start local 18 // java.io.InputStream in
       156: .line 244
            aload 18 /* in */
            invokevirtual java.io.InputStream.read:()I
            pop
       157: .line 245
            aload 17 /* testSocket */
            invokevirtual java.net.Socket.close:()V
        end local 18 // java.io.InputStream in
        end local 17 // java.net.Socket testSocket
       158: .line 246
            goto 163
      StackMap locals:
      StackMap stack: java.io.IOException
       159: astore 17 /* ex */
        start local 17 // java.io.IOException ex
       160: .line 247
            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 168
       161: .line 248
            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
       162: .line 251
            goto 168
        end local 17 // java.io.IOException ex
       163: .line 253
      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
       164: .line 257
            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 */
       165: .line 258
            goto 201
      StackMap locals:
      StackMap stack: java.io.IOException
       166: pop
       167: .line 260
            goto 201
       168: .line 229
      StackMap locals:
      StackMap stack:
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
       169: iload 16 /* i */
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.altFactoryList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 149
        end local 16 // int i
       170: goto 201
       171: .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
       172: .line 221
            aload 7 /* initialFailure */
            ifnull 200
       173: .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 177
       174: .line 224
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
       175: .line 225
            ldc "direct socket connection failed: "
            aload 7 /* initialFailure */
       176: .line 224
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
       177: .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
       178: goto 199
       179: .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 */
       180: .line 232
            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 184
       181: .line 233
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.proxyLog:Lsun/rmi/runtime/Log;
            getstatic sun.rmi.runtime.Log.BRIEF:Ljava/util/logging/Level;
       182: .line 234
            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;
       183: .line 233
            invokevirtual sun.rmi.runtime.Log.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
       184: .line 242
      StackMap locals:
      StackMap stack:
            aload 3 /* factory */
            aload 1 /* host */
            iload 2 /* port */
            invokevirtual java.rmi.server.RMISocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
            astore 17 /* testSocket */
        start local 17 // java.net.Socket testSocket
       185: .line 243
            aload 17 /* testSocket */
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            astore 18 /* in */
        start local 18 // java.io.InputStream in
       186: .line 244
            aload 18 /* in */
            invokevirtual java.io.InputStream.read:()I
            pop
       187: .line 245
            aload 17 /* testSocket */
            invokevirtual java.net.Socket.close:()V
        end local 18 // java.io.InputStream in
        end local 17 // java.net.Socket testSocket
       188: .line 246
            goto 193
      StackMap locals:
      StackMap stack: java.io.IOException
       189: astore 17 /* ex */
        start local 17 // java.io.IOException ex
       190: .line 247
            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 198
       191: .line 248
            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
       192: .line 251
            goto 198
        end local 17 // java.io.IOException ex
       193: .line 253
      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
       194: .line 257
            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 */
       195: .line 258
            goto 200
      StackMap locals:
      StackMap stack: java.io.IOException
       196: pop
       197: .line 260
            goto 200
       198: .line 229
      StackMap locals:
      StackMap stack:
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
       199: iload 16 /* i */
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.altFactoryList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 179
        end local 16 // int i
       200: .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 top top top top top top java.lang.Throwable
      StackMap stack:
            aload 14
            athrow
       201: .line 265
      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
       202: .line 268
            aload 6 /* connector */
            dup
            astore 9
            monitorenter
       203: .line 269
            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 */
       204: .line 268
            aload 9
            monitorexit
       205: goto 208
      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
       206: aload 9
            monitorexit
       207: athrow
       208: .line 271
      StackMap locals:
      StackMap stack:
            aload 4 /* initialSocket */
            ifnull 214
       209: .line 273
            aload 5 /* fallbackSocket */
            ifnull 211
       210: .line 274
            aload 5 /* fallbackSocket */
            invokevirtual java.net.Socket.close:()V
       211: .line 275
      StackMap locals:
      StackMap stack:
            aload 4 /* initialSocket */
       212: aload 8
            monitorexit
       213: areturn
       214: .line 278
      StackMap locals:
      StackMap stack:
            aload 6 /* connector */
            invokevirtual sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector.notUsed:()V
       215: .line 279
            goto 227
      StackMap locals:
      StackMap stack: java.net.UnknownHostException
       216: astore 9 /* e */
        start local 9 // java.net.UnknownHostException e
       217: .line 280
            aload 9 /* e */
            astore 7 /* initialFailure */
        end local 9 // java.net.UnknownHostException e
       218: goto 227
       219: .line 281
      StackMap locals:
      StackMap stack: java.net.NoRouteToHostException
            astore 9 /* e */
        start local 9 // java.net.NoRouteToHostException e
       220: .line 282
            aload 9 /* e */
            astore 7 /* initialFailure */
        end local 9 // java.net.NoRouteToHostException e
       221: goto 227
       222: .line 283
      StackMap locals:
      StackMap stack: java.net.SocketException
            astore 9 /* e */
        start local 9 // java.net.SocketException e
       223: .line 284
            getstatic sun.rmi.transport.proxy.RMIMasterSocketFactory.eagerHttpFallback:Z
            ifeq 226
       224: .line 285
            aload 9 /* e */
            astore 7 /* initialFailure */
       225: .line 286
            goto 227
       226: .line 287
      StackMap locals: java.net.SocketException
      StackMap stack:
            aload 9 /* e */
            athrow
        end local 9 // java.net.SocketException e
       227: .line 291
      StackMap locals:
      StackMap stack:
            aload 5 /* fallbackSocket */
            ifnull 231
       228: .line 293
            aload 0 /* this */
            aload 1 /* host */
            aload 3 /* factory */
            invokevirtual sun.rmi.transport.proxy.RMIMasterSocketFactory.rememberFactory:(Ljava/lang/String;Ljava/rmi/server/RMISocketFactory;)V
       229: .line 294
            aload 5 /* fallbackSocket */
            aload 8
            monitorexit
       230: areturn
       231: .line 296
      StackMap locals:
      StackMap stack:
            aload 7 /* initialFailure */
            athrow
       232: .line 265
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 8
            monitorexit
       233: 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  234     0            this  Lsun/rmi/transport/proxy/RMIMasterSocketFactory;
            0  234     1            host  Ljava/lang/String;
            0  234     2            port  I
            5  234     3         factory  Ljava/rmi/server/RMISocketFactory;
           12  234     4   initialSocket  Ljava/net/Socket;
           13  234     5  fallbackSocket  Ljava/net/Socket;
           17  234     6       connector  Lsun/rmi/transport/proxy/RMIMasterSocketFactory$AsyncConnector;
           18  234     7  initialFailure  Ljava/io/IOException;
           21   36     9               t  Ljava/lang/Thread;
           23   31    10             now  J
           24   31    12        deadline  J
           76   77     8               e  Ljava/net/UnknownHostException;
          107  108     8               e  Ljava/net/NoRouteToHostException;
          138  142     8               e  Ljava/net/SocketException;
           52   74    16               i  I
           83  105    16               i  I
          114  136    16               i  I
          148  170    16               i  I
          178  200    16               i  I
           59   62    17      testSocket  Ljava/net/Socket;
           90   93    17      testSocket  Ljava/net/Socket;
          121  124    17      testSocket  Ljava/net/Socket;
          155  158    17      testSocket  Ljava/net/Socket;
          185  188    17      testSocket  Ljava/net/Socket;
           60   62    18              in  Ljava/io/InputStream;
           91   93    18              in  Ljava/io/InputStream;
          122  124    18              in  Ljava/io/InputStream;
          156  158    18              in  Ljava/io/InputStream;
          186  188    18              in  Ljava/io/InputStream;
           64   67    17              ex  Ljava/io/IOException;
           95   98    17              ex  Ljava/io/IOException;
          126  129    17              ex  Ljava/io/IOException;
          160  163    17              ex  Ljava/io/IOException;
          190  193    17              ex  Ljava/io/IOException;
          217  218     9               e  Ljava/net/UnknownHostException;
          220  221     9               e  Ljava/net/NoRouteToHostException;
          223  227     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
          54    62      63  Class java.io.IOException
          68    69      70  Class java.io.IOException
          18    46      75  Class java.net.UnknownHostException
          85    93      94  Class java.io.IOException
          99   100     101  Class java.io.IOException
          18    46     106  Class java.net.NoRouteToHostException
         116   124     125  Class java.io.IOException
         130   131     132  Class java.io.IOException
          18    46     137  Class java.net.SocketException
         150   158     159  Class java.io.IOException
         164   165     166  Class java.io.IOException
          18    46     171  any
          75    77     171  any
         106   108     171  any
         137   142     171  any
         180   188     189  Class java.io.IOException
         194   195     196  Class java.io.IOException
         203   205     206  any
         206   207     206  any
         202   212     216  Class java.net.UnknownHostException
         214   215     216  Class java.net.UnknownHostException
         202   212     219  Class java.net.NoRouteToHostException
         214   215     219  Class java.net.NoRouteToHostException
         202   212     222  Class java.net.SocketException
         214   215     222  Class java.net.SocketException
         202   213     232  any
         214   230     232  any
         231   233     232  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 306
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.successTable:Ljava/util/Hashtable;
            dup
            astore 3
            monitorenter
         1: .line 307
            goto 4
         2: .line 308
      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 309
            aload 0 /* this */
            getfield sun.rmi.transport.proxy.RMIMasterSocketFactory.hostList:Ljava/util/Vector;
            iconst_0
            invokevirtual java.util.Vector.removeElementAt:(I)V
         4: .line 307
      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 311
            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 312
            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 306
            aload 3
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 3
            monitorexit
        10: athrow
        11: .line 314
      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 323
            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 324
            aload 2 /* e */
            ifnull 10
         2: .line 325
            aload 2 /* e */
            invokevirtual java.lang.Exception.fillInStackTrace:()Ljava/lang/Throwable;
            pop
         3: .line 332
            aload 2 /* e */
            instanceof java.io.IOException
            ifeq 5
         4: .line 333
            aload 2 /* e */
            checkcast java.io.IOException
            athrow
         5: .line 334
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 2 /* e */
            instanceof java.lang.RuntimeException
            ifeq 7
         6: .line 335
            aload 2 /* e */
            checkcast java.lang.RuntimeException
            athrow
         7: .line 337
      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 338
            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 337
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 341
      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 349
            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