class sun.management.jmxremote.LocalRMIServerSocketFactory$1 extends java.net.ServerSocket
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.management.jmxremote.LocalRMIServerSocketFactory$1
  super_class: java.net.ServerSocket
{
  final sun.management.jmxremote.LocalRMIServerSocketFactory this$0;
    descriptor: Lsun/management/jmxremote/LocalRMIServerSocketFactory;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(sun.management.jmxremote.LocalRMIServerSocketFactory, int);
    descriptor: (Lsun/management/jmxremote/LocalRMIServerSocketFactory;I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.management.jmxremote.LocalRMIServerSocketFactory$1 this
        start local 2 // int $anonymous0
         0: .line 49
            aload 0 /* this */
            aload 1
            putfield sun.management.jmxremote.LocalRMIServerSocketFactory$1.this$0:Lsun/management/jmxremote/LocalRMIServerSocketFactory;
            aload 0 /* this */
            iload 2 /* $anonymous0 */
            invokespecial java.net.ServerSocket.<init>:(I)V
            return
        end local 2 // int $anonymous0
        end local 0 // sun.management.jmxremote.LocalRMIServerSocketFactory$1 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lsun/management/jmxremote/LocalRMIServerSocketFactory$1;
            0    1     2  $anonymous0  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      this$0       final
      $anonymous0  

  public java.net.Socket accept();
    descriptor: ()Ljava/net/Socket;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // sun.management.jmxremote.LocalRMIServerSocketFactory$1 this
         0: .line 52
            aload 0 /* this */
            invokespecial java.net.ServerSocket.accept:()Ljava/net/Socket;
            astore 1 /* socket */
        start local 1 // java.net.Socket socket
         1: .line 53
            aload 1 /* socket */
            invokevirtual java.net.Socket.getInetAddress:()Ljava/net/InetAddress;
            astore 2 /* remoteAddr */
        start local 2 // java.net.InetAddress remoteAddr
         2: .line 59
            aload 2 /* remoteAddr */
            ifnonnull 15
         3: .line 64
            ldc ""
            astore 3 /* details */
        start local 3 // java.lang.String details
         4: .line 65
            aload 1 /* socket */
            invokevirtual java.net.Socket.isClosed:()Z
            ifeq 7
         5: .line 66
            ldc " Socket is closed."
            astore 3 /* details */
         6: .line 67
            goto 9
      StackMap locals: java.net.Socket java.net.InetAddress java.lang.String
      StackMap stack:
         7: aload 1 /* socket */
            invokevirtual java.net.Socket.isConnected:()Z
            ifne 9
         8: .line 68
            ldc " Socket is not connected"
            astore 3 /* details */
         9: .line 71
      StackMap locals:
      StackMap stack:
            aload 1 /* socket */
            invokevirtual java.net.Socket.close:()V
        10: .line 72
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Exception
        11: pop
        12: .line 76
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The server sockets created using the LocalRMIServerSocketFactory only accept connections from clients running on the host where the RMI remote objects have been exported. Couldn't determine client address."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 78
            aload 3 /* details */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 76
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String details
        15: .line 79
      StackMap locals:
      StackMap stack:
            aload 2 /* remoteAddr */
            invokevirtual java.net.InetAddress.isLoopbackAddress:()Z
            ifeq 17
        16: .line 81
            aload 1 /* socket */
            areturn
        17: .line 86
      StackMap locals:
      StackMap stack:
            invokestatic java.net.NetworkInterface.getNetworkInterfaces:()Ljava/util/Enumeration;
            astore 3 /* nis */
        start local 3 // java.util.Enumeration nis
        18: .line 87
            goto 31
        end local 3 // java.util.Enumeration nis
      StackMap locals:
      StackMap stack: java.net.SocketException
        19: astore 4 /* e */
        start local 4 // java.net.SocketException e
        20: .line 89
            aload 1 /* socket */
            invokevirtual java.net.Socket.close:()V
        21: .line 90
            goto 23
      StackMap locals: sun.management.jmxremote.LocalRMIServerSocketFactory$1 java.net.Socket java.net.InetAddress top java.net.SocketException
      StackMap stack: java.io.IOException
        22: pop
        23: .line 93
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "The server sockets created using the LocalRMIServerSocketFactory only accept connections from clients running on the host where the RMI remote objects have been exported."
            aload 4 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.net.SocketException e
        start local 3 // java.util.Enumeration nis
        24: .line 99
      StackMap locals: sun.management.jmxremote.LocalRMIServerSocketFactory$1 java.net.Socket java.net.InetAddress java.util.Enumeration
      StackMap stack:
            aload 3 /* nis */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.net.NetworkInterface
            astore 4 /* ni */
        start local 4 // java.net.NetworkInterface ni
        25: .line 100
            aload 4 /* ni */
            invokevirtual java.net.NetworkInterface.getInetAddresses:()Ljava/util/Enumeration;
            astore 5 /* addrs */
        start local 5 // java.util.Enumeration addrs
        26: .line 101
            goto 30
        27: .line 102
      StackMap locals: java.net.NetworkInterface java.util.Enumeration
      StackMap stack:
            aload 5 /* addrs */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.net.InetAddress
            astore 6 /* localAddr */
        start local 6 // java.net.InetAddress localAddr
        28: .line 103
            aload 6 /* localAddr */
            aload 2 /* remoteAddr */
            invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
            ifeq 30
        29: .line 104
            aload 1 /* socket */
            areturn
        end local 6 // java.net.InetAddress localAddr
        30: .line 101
      StackMap locals:
      StackMap stack:
            aload 5 /* addrs */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 27
        end local 5 // java.util.Enumeration addrs
        end local 4 // java.net.NetworkInterface ni
        31: .line 98
      StackMap locals:
      StackMap stack:
            aload 3 /* nis */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 24
        32: .line 110
            aload 1 /* socket */
            invokevirtual java.net.Socket.close:()V
        33: .line 111
            goto 35
      StackMap locals:
      StackMap stack: java.io.IOException
        34: pop
        35: .line 114
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "The server sockets created using the LocalRMIServerSocketFactory only accept connections from clients running on the host where the RMI remote objects have been exported."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.util.Enumeration nis
        end local 2 // java.net.InetAddress remoteAddr
        end local 1 // java.net.Socket socket
        end local 0 // sun.management.jmxremote.LocalRMIServerSocketFactory$1 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   36     0        this  Lsun/management/jmxremote/LocalRMIServerSocketFactory$1;
            1   36     1      socket  Ljava/net/Socket;
            2   36     2  remoteAddr  Ljava/net/InetAddress;
            4   15     3     details  Ljava/lang/String;
           18   19     3         nis  Ljava/util/Enumeration<Ljava/net/NetworkInterface;>;
           24   36     3         nis  Ljava/util/Enumeration<Ljava/net/NetworkInterface;>;
           20   24     4           e  Ljava/net/SocketException;
           25   31     4          ni  Ljava/net/NetworkInterface;
           26   31     5       addrs  Ljava/util/Enumeration<Ljava/net/InetAddress;>;
           28   30     6   localAddr  Ljava/net/InetAddress;
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.Exception
          17    18      19  Class java.net.SocketException
          20    21      22  Class java.io.IOException
          32    33      34  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
}
SourceFile: "LocalRMIServerSocketFactory.java"
EnclosingMethod: sun.management.jmxremote.LocalRMIServerSocketFactory.createServerSocket:(I)Ljava/net/ServerSocket;
NestHost: sun.management.jmxremote.LocalRMIServerSocketFactory
InnerClasses:
  sun.management.jmxremote.LocalRMIServerSocketFactory$1