public class sun.nio.ch.sctp.SctpMultiChannelImpl extends com.sun.nio.sctp.SctpMultiChannel implements sun.nio.ch.SelChImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.nio.ch.sctp.SctpMultiChannelImpl
  super_class: com.sun.nio.sctp.SctpMultiChannel
{
  private final java.io.FileDescriptor fd;
    descriptor: Ljava/io/FileDescriptor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int fdVal;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile long receiverThread;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile long senderThread;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

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

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

  private sun.nio.ch.sctp.SctpMultiChannelImpl$ChannelState state;
    descriptor: Lsun/nio/ch/sctp/SctpMultiChannelImpl$ChannelState;
    flags: (0x0002) ACC_PRIVATE

  int port;
    descriptor: I
    flags: (0x0000) 

  private java.util.HashSet<java.net.InetSocketAddress> localAddresses;
    descriptor: Ljava/util/HashSet;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashSet<Ljava/net/InetSocketAddress;>;

  private boolean wildcard;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.util.HashMap<java.net.SocketAddress, com.sun.nio.sctp.Association> addressMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/net/SocketAddress;Lcom/sun/nio/sctp/Association;>;

  private java.util.HashMap<com.sun.nio.sctp.Association, java.util.Set<java.net.SocketAddress>> associationMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Lcom/sun/nio/sctp/Association;Ljava/util/Set<Ljava/net/SocketAddress;>;>;

  private final java.lang.ThreadLocal<com.sun.nio.sctp.Association> associationToRemove;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Lcom/sun/nio/sctp/Association;>;

  private final java.lang.ThreadLocal<java.lang.Boolean> receiveInvoked;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Ljava/lang/Boolean;>;

  private sun.nio.ch.sctp.SctpMultiChannelImpl$InternalNotificationHandler internalNotificationHandler;
    descriptor: Lsun/nio/ch/sctp/SctpMultiChannelImpl$InternalNotificationHandler;
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 71
            ldc Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.nio.ch.sctp.SctpMultiChannelImpl.$assertionsDisabled:Z
         3: .line 997
            invokestatic sun.nio.ch.IOUtil.load:()V
         4: .line 999
            new sun.nio.ch.sctp.SctpMultiChannelImpl$3
            dup
            invokespecial sun.nio.ch.sctp.SctpMultiChannelImpl$3.<init>:()V
         5: .line 998
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         6: .line 1005
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.nio.channels.spi.SelectorProvider);
    descriptor: (Ljava/nio/channels/spi/SelectorProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // java.nio.channels.spi.SelectorProvider provider
         0: .line 135
            aload 0 /* this */
            aload 1 /* provider */
            invokespecial com.sun.nio.sctp.SctpMultiChannel.<init>:(Ljava/nio/channels/spi/SelectorProvider;)V
         1: .line 79
            aload 0 /* this */
            lconst_0
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiverThread:J
         2: .line 80
            aload 0 /* this */
            lconst_0
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.senderThread:J
         3: .line 83
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiveLock:Ljava/lang/Object;
         4: .line 86
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.sendLock:Ljava/lang/Object;
         5: .line 90
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
         6: .line 99
            aload 0 /* this */
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl$ChannelState.UNINITIALIZED:Lsun/nio/ch/sctp/SctpMultiChannelImpl$ChannelState;
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.state:Lsun/nio/ch/sctp/SctpMultiChannelImpl$ChannelState;
         7: .line 102
            aload 0 /* this */
            iconst_m1
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.port:I
         8: .line 103
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.localAddresses:Ljava/util/HashSet;
         9: .line 108
            aload 0 /* this */
        10: .line 109
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.addressMap:Ljava/util/HashMap;
        11: .line 110
            aload 0 /* this */
        12: .line 111
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.associationMap:Ljava/util/HashMap;
        13: .line 117
            aload 0 /* this */
        14: .line 118
            new sun.nio.ch.sctp.SctpMultiChannelImpl$1
            dup
            aload 0 /* this */
            invokespecial sun.nio.ch.sctp.SctpMultiChannelImpl$1.<init>:(Lsun/nio/ch/sctp/SctpMultiChannelImpl;)V
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.associationToRemove:Ljava/lang/ThreadLocal;
        15: .line 125
            aload 0 /* this */
        16: .line 126
            new sun.nio.ch.sctp.SctpMultiChannelImpl$2
            dup
            aload 0 /* this */
            invokespecial sun.nio.ch.sctp.SctpMultiChannelImpl$2.<init>:(Lsun/nio/ch/sctp/SctpMultiChannelImpl;)V
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
        17: .line 588
            aload 0 /* this */
        18: .line 589
            new sun.nio.ch.sctp.SctpMultiChannelImpl$InternalNotificationHandler
            dup
            aload 0 /* this */
            invokespecial sun.nio.ch.sctp.SctpMultiChannelImpl$InternalNotificationHandler.<init>:(Lsun/nio/ch/sctp/SctpMultiChannelImpl;)V
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.internalNotificationHandler:Lsun/nio/ch/sctp/SctpMultiChannelImpl$InternalNotificationHandler;
        19: .line 136
            aload 0 /* this */
            iconst_0
            invokestatic sun.nio.ch.sctp.SctpNet.socket:(Z)Ljava/io/FileDescriptor;
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.fd:Ljava/io/FileDescriptor;
        20: .line 137
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fd:Ljava/io/FileDescriptor;
            invokestatic sun.nio.ch.IOUtil.fdVal:(Ljava/io/FileDescriptor;)I
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.fdVal:I
        21: .line 138
            return
        end local 1 // java.nio.channels.spi.SelectorProvider provider
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   22     1  provider  Ljava/nio/channels/spi/SelectorProvider;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      provider  

  public com.sun.nio.sctp.SctpMultiChannel bind(java.net.SocketAddress, int);
    descriptor: (Ljava/net/SocketAddress;I)Lcom/sun/nio/sctp/SctpMultiChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // java.net.SocketAddress local
        start local 2 // int backlog
         0: .line 143
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiveLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 144
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.sendLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         2: .line 145
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
         3: .line 146
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.ensureOpen:()V
         4: .line 147
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isBound:()Z
            ifeq 6
         5: .line 148
            invokestatic sun.nio.ch.sctp.SctpNet.throwAlreadyBoundException:()Z
            pop
         6: .line 149
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object
      StackMap stack:
            aload 1 /* local */
            ifnonnull 8
         7: .line 150
            new java.net.InetSocketAddress
            dup
            iconst_0
            invokespecial java.net.InetSocketAddress.<init>:(I)V
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 1 /* local */
            invokestatic sun.nio.ch.Net.checkAddress:(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
         9: .line 149
      StackMap locals:
      StackMap stack: java.net.InetSocketAddress
            astore 6 /* isa */
        start local 6 // java.net.InetSocketAddress isa
        10: .line 152
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 7 /* sm */
        start local 7 // java.lang.SecurityManager sm
        11: .line 153
            aload 7 /* sm */
            ifnull 13
        12: .line 154
            aload 7 /* sm */
            aload 6 /* isa */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            invokevirtual java.lang.SecurityManager.checkListen:(I)V
        13: .line 155
      StackMap locals: java.net.InetSocketAddress java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fd:Ljava/io/FileDescriptor;
            aload 6 /* isa */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            aload 6 /* isa */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            invokestatic sun.nio.ch.Net.bind:(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
        14: .line 157
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fd:Ljava/io/FileDescriptor;
            invokestatic sun.nio.ch.Net.localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
            astore 8 /* boundIsa */
        start local 8 // java.net.InetSocketAddress boundIsa
        15: .line 158
            aload 0 /* this */
            aload 8 /* boundIsa */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.port:I
        16: .line 159
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.localAddresses:Ljava/util/HashSet;
            aload 6 /* isa */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        17: .line 160
            aload 6 /* isa */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
            ifeq 19
        18: .line 161
            aload 0 /* this */
            iconst_1
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.wildcard:Z
        19: .line 163
      StackMap locals: java.net.InetSocketAddress
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fdVal:I
            iload 2 /* backlog */
            iconst_1
            if_icmpge 20
            bipush 50
            goto 21
      StackMap locals:
      StackMap stack: int
        20: iload 2 /* backlog */
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.net.SocketAddress int java.lang.Object java.lang.Object java.lang.Object java.net.InetSocketAddress java.lang.SecurityManager java.net.InetSocketAddress
      StackMap stack: int int
        21: invokestatic sun.nio.ch.sctp.SctpNet.listen:(II)V
        end local 8 // java.net.InetSocketAddress boundIsa
        end local 7 // java.lang.SecurityManager sm
        end local 6 // java.net.InetSocketAddress isa
        22: .line 145
            aload 5
            monitorexit
        23: goto 26
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.net.SocketAddress int java.lang.Object java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
        24: aload 5
            monitorexit
        25: athrow
        26: .line 144
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        27: goto 30
      StackMap locals:
      StackMap stack: java.lang.Throwable
        28: aload 4
            monitorexit
        29: athrow
        30: .line 143
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        31: goto 34
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: aload 3
            monitorexit
        33: athrow
        34: .line 167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // int backlog
        end local 1 // java.net.SocketAddress local
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   35     0      this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   35     1     local  Ljava/net/SocketAddress;
            0   35     2   backlog  I
           10   22     6       isa  Ljava/net/InetSocketAddress;
           11   22     7        sm  Ljava/lang/SecurityManager;
           15   22     8  boundIsa  Ljava/net/InetSocketAddress;
      Exception table:
        from    to  target  type
           3    23      24  any
          24    25      24  any
           2    27      28  any
          28    29      28  any
           1    31      32  any
          32    33      32  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      local    
      backlog  

  public com.sun.nio.sctp.SctpMultiChannel bindAddress(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Lcom/sun/nio/sctp/SctpMultiChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // java.net.InetAddress address
         0: .line 173
            aload 0 /* this */
            aload 1 /* address */
            iconst_1
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.bindUnbindAddress:(Ljava/net/InetAddress;Z)Lcom/sun/nio/sctp/SctpMultiChannel;
            areturn
        end local 1 // java.net.InetAddress address
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0    1     1  address  Ljava/net/InetAddress;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      address  

  public com.sun.nio.sctp.SctpMultiChannel unbindAddress(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Lcom/sun/nio/sctp/SctpMultiChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // java.net.InetAddress address
         0: .line 179
            aload 0 /* this */
            aload 1 /* address */
            iconst_0
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.bindUnbindAddress:(Ljava/net/InetAddress;Z)Lcom/sun/nio/sctp/SctpMultiChannel;
            areturn
        end local 1 // java.net.InetAddress address
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0    1     1  address  Ljava/net/InetAddress;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      address  

  private com.sun.nio.sctp.SctpMultiChannel bindUnbindAddress(java.net.InetAddress, boolean);
    descriptor: (Ljava/net/InetAddress;Z)Lcom/sun/nio/sctp/SctpMultiChannel;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // java.net.InetAddress address
        start local 2 // boolean add
         0: .line 185
            aload 1 /* address */
            ifnonnull 2
         1: .line 186
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiveLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         3: .line 189
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.sendLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         4: .line 190
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
         5: .line 191
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isOpen:()Z
            ifne 7
         6: .line 192
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         7: .line 193
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isBound:()Z
            ifne 9
         8: .line 194
            new java.nio.channels.NotYetBoundException
            dup
            invokespecial java.nio.channels.NotYetBoundException.<init>:()V
            athrow
         9: .line 195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.wildcard:Z
            ifeq 13
        10: .line 196
            new java.lang.IllegalStateException
            dup
        11: .line 197
            ldc "Cannot add or remove addresses from a channel that is bound to the wildcard address"
        12: .line 196
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 198
      StackMap locals:
      StackMap stack:
            aload 1 /* address */
            invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
            ifeq 17
        14: .line 199
            new java.lang.IllegalArgumentException
            dup
        15: .line 200
            ldc "Cannot add or remove the wildcard address"
        16: .line 199
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 201
      StackMap locals:
      StackMap stack:
            iload 2 /* add */
            ifeq 24
        18: .line 202
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.localAddresses:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 7
            goto 22
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.net.InetAddress int java.lang.Object java.lang.Object java.lang.Object top java.util.Iterator
      StackMap stack:
        19: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.net.InetSocketAddress
            astore 6 /* addr */
        start local 6 // java.net.InetSocketAddress addr
        20: .line 203
            aload 6 /* addr */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            aload 1 /* address */
            invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
            ifeq 22
        21: .line 204
            invokestatic sun.nio.ch.sctp.SctpNet.throwAlreadyBoundException:()Z
            pop
        end local 6 // java.net.InetSocketAddress addr
        22: .line 202
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        23: .line 207
            goto 35
        24: .line 210
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.net.InetAddress int java.lang.Object java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.localAddresses:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.size:()I
            iconst_1
            if_icmpgt 26
        25: .line 211
            new com.sun.nio.sctp.IllegalUnbindException
            dup
            ldc "Cannot remove address from a channel with only one address bound"
            invokespecial com.sun.nio.sctp.IllegalUnbindException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 212
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* foundAddress */
        start local 6 // boolean foundAddress
        27: .line 213
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.localAddresses:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 8
            goto 32
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.net.InetAddress int java.lang.Object java.lang.Object java.lang.Object int top java.util.Iterator
      StackMap stack:
        28: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.net.InetSocketAddress
            astore 7 /* addr */
        start local 7 // java.net.InetSocketAddress addr
        29: .line 214
            aload 7 /* addr */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            aload 1 /* address */
            invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
            ifeq 32
        30: .line 215
            iconst_1
            istore 6 /* foundAddress */
        31: .line 216
            goto 33
        end local 7 // java.net.InetSocketAddress addr
        32: .line 213
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 28
        33: .line 219
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.net.InetAddress int java.lang.Object java.lang.Object java.lang.Object int
      StackMap stack:
            iload 6 /* foundAddress */
            ifne 35
        34: .line 220
            new com.sun.nio.sctp.IllegalUnbindException
            dup
            ldc "Cannot remove address from a channel that is not bound to that address"
            invokespecial com.sun.nio.sctp.IllegalUnbindException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // boolean foundAddress
        35: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fdVal:I
            iconst_1
            anewarray java.net.InetAddress
            dup
            iconst_0
            aload 1 /* address */
            aastore
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.port:I
            iload 2 /* add */
            invokestatic sun.nio.ch.sctp.SctpNet.bindx:(I[Ljava/net/InetAddress;IZ)V
        36: .line 226
            iload 2 /* add */
            ifeq 38
        37: .line 227
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.localAddresses:Ljava/util/HashSet;
            new java.net.InetSocketAddress
            dup
            aload 1 /* address */
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.port:I
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
            goto 44
        38: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.localAddresses:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 7
            goto 43
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.net.InetAddress int java.lang.Object java.lang.Object java.lang.Object top java.util.Iterator
      StackMap stack:
        39: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.net.InetSocketAddress
            astore 6 /* addr */
        start local 6 // java.net.InetSocketAddress addr
        40: .line 230
            aload 6 /* addr */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            aload 1 /* address */
            invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
            ifeq 43
        41: .line 231
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.localAddresses:Ljava/util/HashSet;
            aload 6 /* addr */
            invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
            pop
        42: .line 232
            goto 44
        end local 6 // java.net.InetSocketAddress addr
        43: .line 229
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 39
        44: .line 190
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.net.InetAddress int java.lang.Object java.lang.Object java.lang.Object
      StackMap stack:
            aload 5
            monitorexit
        45: goto 48
      StackMap locals:
      StackMap stack: java.lang.Throwable
        46: aload 5
            monitorexit
        47: athrow
        48: .line 189
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        49: goto 52
      StackMap locals:
      StackMap stack: java.lang.Throwable
        50: aload 4
            monitorexit
        51: athrow
        52: .line 188
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        53: goto 56
      StackMap locals:
      StackMap stack: java.lang.Throwable
        54: aload 3
            monitorexit
        55: athrow
        56: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // boolean add
        end local 1 // java.net.InetAddress address
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   57     0          this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   57     1       address  Ljava/net/InetAddress;
            0   57     2           add  Z
           20   22     6          addr  Ljava/net/InetSocketAddress;
           27   35     6  foundAddress  Z
           29   32     7          addr  Ljava/net/InetSocketAddress;
           40   43     6          addr  Ljava/net/InetSocketAddress;
      Exception table:
        from    to  target  type
           5    45      46  any
          46    47      46  any
           4    49      50  any
          50    51      50  any
           3    53      54  any
          54    55      54  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      address  
      add      

  public java.util.Set<com.sun.nio.sctp.Association> associations();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
         0: .line 245
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 246
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isOpen:()Z
            ifne 3
         2: .line 247
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         3: .line 248
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isBound:()Z
            ifne 5
         4: .line 249
            new java.nio.channels.NotYetBoundException
            dup
            invokespecial java.nio.channels.NotYetBoundException.<init>:()V
            athrow
         5: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.associationMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            aload 1
            monitorexit
         6: areturn
         7: .line 245
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         8: athrow
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    Exceptions:
      throws java.nio.channels.ClosedChannelException, java.nio.channels.NotYetBoundException
    Signature: ()Ljava/util/Set<Lcom/sun/nio/sctp/Association;>;

  private boolean isBound();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
         0: .line 256
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 257
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.port:I
            iconst_m1
            if_icmpne 2
            iconst_0
            goto 3
      StackMap locals: java.lang.Object
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: aload 1
            monitorexit
         4: ireturn
         5: .line 256
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  private void ensureOpen();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
         0: .line 262
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 263
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isOpen:()Z
            ifne 3
         2: .line 264
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         3: .line 262
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1
            monitorexit
         4: goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: aload 1
            monitorexit
         6: athrow
         7: .line 266
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    Exceptions:
      throws java.io.IOException

  private void receiverCleanup();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
         0: .line 269
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 270
            aload 0 /* this */
            lconst_0
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiverThread:J
         2: .line 271
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.state:Lsun/nio/ch/sctp/SctpMultiChannelImpl$ChannelState;
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl$ChannelState.KILLPENDING:Lsun/nio/ch/sctp/SctpMultiChannelImpl$ChannelState;
            if_acmpne 4
         3: .line 272
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.kill:()V
         4: .line 269
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 1
            monitorexit
         7: athrow
         8: .line 274
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    Exceptions:
      throws java.io.IOException

  private void senderCleanup();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
         0: .line 277
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 278
            aload 0 /* this */
            lconst_0
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.senderThread:J
         2: .line 279
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.state:Lsun/nio/ch/sctp/SctpMultiChannelImpl$ChannelState;
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl$ChannelState.KILLPENDING:Lsun/nio/ch/sctp/SctpMultiChannelImpl$ChannelState;
            if_acmpne 4
         3: .line 280
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.kill:()V
         4: .line 277
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 1
            monitorexit
         7: athrow
         8: .line 282
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    Exceptions:
      throws java.io.IOException

  protected void implConfigureBlocking(boolean);
    descriptor: (Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // boolean block
         0: .line 286
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fd:Ljava/io/FileDescriptor;
            iload 1 /* block */
            invokestatic sun.nio.ch.IOUtil.configureBlocking:(Ljava/io/FileDescriptor;Z)V
         1: .line 287
            return
        end local 1 // boolean block
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0    2     1  block  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      block  

  public void implCloseSelectableChannel();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
         0: .line 291
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 292
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fdVal:I
            invokestatic sun.nio.ch.sctp.SctpNet.preClose:(I)V
         2: .line 294
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiverThread:J
            lconst_0
            lcmp
            ifeq 4
         3: .line 295
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiverThread:J
            invokestatic sun.nio.ch.NativeThread.signal:(J)V
         4: .line 297
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.senderThread:J
            lconst_0
            lcmp
            ifeq 6
         5: .line 298
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.senderThread:J
            invokestatic sun.nio.ch.NativeThread.signal:(J)V
         6: .line 300
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isRegistered:()Z
            ifne 8
         7: .line 301
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.kill:()V
         8: .line 291
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 1
            monitorexit
        11: athrow
        12: .line 303
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
      Exception table:
        from    to  target  type
           1     9      10  any
          10    11      10  any
    Exceptions:
      throws java.io.IOException

  public java.io.FileDescriptor getFD();
    descriptor: ()Ljava/io/FileDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
         0: .line 307
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fd:Ljava/io/FileDescriptor;
            areturn
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;

  public int getFDVal();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
         0: .line 312
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fdVal:I
            ireturn
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;

  private boolean translateReadyOps(int, int, sun.nio.ch.SelectionKeyImpl);
    descriptor: (IILsun/nio/ch/SelectionKeyImpl;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // int ops
        start local 2 // int initialOps
        start local 3 // sun.nio.ch.SelectionKeyImpl sk
         0: .line 320
            aload 3 /* sk */
            invokevirtual sun.nio.ch.SelectionKeyImpl.nioInterestOps:()I
            istore 4 /* intOps */
        start local 4 // int intOps
         1: .line 321
            aload 3 /* sk */
            invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:()I
            istore 5 /* oldOps */
        start local 5 // int oldOps
         2: .line 322
            iload 2 /* initialOps */
            istore 6 /* newOps */
        start local 6 // int newOps
         3: .line 324
            iload 1 /* ops */
            getstatic sun.nio.ch.Net.POLLNVAL:S
            iand
            ifeq 5
         4: .line 328
            iconst_0
            ireturn
         5: .line 331
      StackMap locals: int int int
      StackMap stack:
            iload 1 /* ops */
            getstatic sun.nio.ch.Net.POLLERR:S
            getstatic sun.nio.ch.Net.POLLHUP:S
            ior
            iand
            ifeq 10
         6: .line 332
            iload 4 /* intOps */
            istore 6 /* newOps */
         7: .line 333
            aload 3 /* sk */
            iload 6 /* newOps */
            invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:(I)V
         8: .line 334
            iload 6 /* newOps */
            iload 5 /* oldOps */
            iconst_m1
            ixor
            iand
            ifeq 9
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         9: iconst_0
            ireturn
        10: .line 337
      StackMap locals:
      StackMap stack:
            iload 1 /* ops */
            getstatic sun.nio.ch.Net.POLLIN:S
            iand
            ifeq 13
        11: .line 338
            iload 4 /* intOps */
            iconst_1
            iand
            ifeq 13
        12: .line 339
            iload 6 /* newOps */
            iconst_1
            ior
            istore 6 /* newOps */
        13: .line 341
      StackMap locals:
      StackMap stack:
            iload 1 /* ops */
            getstatic sun.nio.ch.Net.POLLOUT:S
            iand
            ifeq 16
        14: .line 342
            iload 4 /* intOps */
            iconst_4
            iand
            ifeq 16
        15: .line 343
            iload 6 /* newOps */
            iconst_4
            ior
            istore 6 /* newOps */
        16: .line 345
      StackMap locals:
      StackMap stack:
            aload 3 /* sk */
            iload 6 /* newOps */
            invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:(I)V
        17: .line 346
            iload 6 /* newOps */
            iload 5 /* oldOps */
            iconst_m1
            ixor
            iand
            ifeq 18
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        18: iconst_0
            ireturn
        end local 6 // int newOps
        end local 5 // int oldOps
        end local 4 // int intOps
        end local 3 // sun.nio.ch.SelectionKeyImpl sk
        end local 2 // int initialOps
        end local 1 // int ops
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   19     1         ops  I
            0   19     2  initialOps  I
            0   19     3          sk  Lsun/nio/ch/SelectionKeyImpl;
            1   19     4      intOps  I
            2   19     5      oldOps  I
            3   19     6      newOps  I
    MethodParameters:
            Name  Flags
      ops         
      initialOps  
      sk          

  public boolean translateAndUpdateReadyOps(int, sun.nio.ch.SelectionKeyImpl);
    descriptor: (ILsun/nio/ch/SelectionKeyImpl;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // int ops
        start local 2 // sun.nio.ch.SelectionKeyImpl sk
         0: .line 351
            aload 0 /* this */
            iload 1 /* ops */
            aload 2 /* sk */
            invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:()I
            aload 2 /* sk */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.translateReadyOps:(IILsun/nio/ch/SelectionKeyImpl;)Z
            ireturn
        end local 2 // sun.nio.ch.SelectionKeyImpl sk
        end local 1 // int ops
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0    1     1   ops  I
            0    1     2    sk  Lsun/nio/ch/SelectionKeyImpl;
    MethodParameters:
      Name  Flags
      ops   
      sk    

  public boolean translateAndSetReadyOps(int, sun.nio.ch.SelectionKeyImpl);
    descriptor: (ILsun/nio/ch/SelectionKeyImpl;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // int ops
        start local 2 // sun.nio.ch.SelectionKeyImpl sk
         0: .line 356
            aload 0 /* this */
            iload 1 /* ops */
            iconst_0
            aload 2 /* sk */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.translateReadyOps:(IILsun/nio/ch/SelectionKeyImpl;)Z
            ireturn
        end local 2 // sun.nio.ch.SelectionKeyImpl sk
        end local 1 // int ops
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0    1     1   ops  I
            0    1     2    sk  Lsun/nio/ch/SelectionKeyImpl;
    MethodParameters:
      Name  Flags
      ops   
      sk    

  public void translateAndSetInterestOps(int, sun.nio.ch.SelectionKeyImpl);
    descriptor: (ILsun/nio/ch/SelectionKeyImpl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // int ops
        start local 2 // sun.nio.ch.SelectionKeyImpl sk
         0: .line 361
            iconst_0
            istore 3 /* newOps */
        start local 3 // int newOps
         1: .line 362
            iload 1 /* ops */
            iconst_1
            iand
            ifeq 3
         2: .line 363
            iload 3 /* newOps */
            getstatic sun.nio.ch.Net.POLLIN:S
            ior
            istore 3 /* newOps */
         3: .line 364
      StackMap locals: int
      StackMap stack:
            iload 1 /* ops */
            iconst_4
            iand
            ifeq 5
         4: .line 365
            iload 3 /* newOps */
            getstatic sun.nio.ch.Net.POLLOUT:S
            ior
            istore 3 /* newOps */
         5: .line 366
      StackMap locals:
      StackMap stack:
            aload 2 /* sk */
            getfield sun.nio.ch.SelectionKeyImpl.selector:Lsun/nio/ch/SelectorImpl;
            aload 2 /* sk */
            iload 3 /* newOps */
            invokevirtual sun.nio.ch.SelectorImpl.putEventOps:(Lsun/nio/ch/SelectionKeyImpl;I)V
         6: .line 367
            return
        end local 3 // int newOps
        end local 2 // sun.nio.ch.SelectionKeyImpl sk
        end local 1 // int ops
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0    7     1     ops  I
            0    7     2      sk  Lsun/nio/ch/SelectionKeyImpl;
            1    7     3  newOps  I
    MethodParameters:
      Name  Flags
      ops   
      sk    

  public void kill();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
         0: .line 371
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 372
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.state:Lsun/nio/ch/sctp/SctpMultiChannelImpl$ChannelState;
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl$ChannelState.KILLED:Lsun/nio/ch/sctp/SctpMultiChannelImpl$ChannelState;
            if_acmpne 4
         2: .line 373
            aload 1
            monitorexit
         3: return
         4: .line 374
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.state:Lsun/nio/ch/sctp/SctpMultiChannelImpl$ChannelState;
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl$ChannelState.UNINITIALIZED:Lsun/nio/ch/sctp/SctpMultiChannelImpl$ChannelState;
            if_acmpne 8
         5: .line 375
            aload 0 /* this */
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl$ChannelState.KILLED:Lsun/nio/ch/sctp/SctpMultiChannelImpl$ChannelState;
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.state:Lsun/nio/ch/sctp/SctpMultiChannelImpl$ChannelState;
         6: .line 376
            aload 1
            monitorexit
         7: return
         8: .line 378
      StackMap locals:
      StackMap stack:
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl.$assertionsDisabled:Z
            ifne 10
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isOpen:()Z
            ifne 9
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isRegistered:()Z
            ifeq 10
      StackMap locals:
      StackMap stack:
         9: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiverThread:J
            lconst_0
            lcmp
            ifne 14
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.senderThread:J
            lconst_0
            lcmp
            ifne 14
        11: .line 382
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fdVal:I
            invokestatic sun.nio.ch.sctp.SctpNet.close:(I)V
        12: .line 383
            aload 0 /* this */
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl$ChannelState.KILLED:Lsun/nio/ch/sctp/SctpMultiChannelImpl$ChannelState;
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.state:Lsun/nio/ch/sctp/SctpMultiChannelImpl$ChannelState;
        13: .line 384
            goto 15
        14: .line 385
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl$ChannelState.KILLPENDING:Lsun/nio/ch/sctp/SctpMultiChannelImpl$ChannelState;
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.state:Lsun/nio/ch/sctp/SctpMultiChannelImpl$ChannelState;
        15: .line 371
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        16: goto 19
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: aload 1
            monitorexit
        18: athrow
        19: .line 388
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
      Exception table:
        from    to  target  type
           1     3      17  any
           4     7      17  any
           8    16      17  any
          17    18      17  any
    Exceptions:
      throws java.io.IOException

  public <T> com.sun.nio.sctp.SctpMultiChannel setOption(com.sun.nio.sctp.SctpSocketOption<T>, T, com.sun.nio.sctp.Association);
    descriptor: (Lcom/sun/nio/sctp/SctpSocketOption;Ljava/lang/Object;Lcom/sun/nio/sctp/Association;)Lcom/sun/nio/sctp/SctpMultiChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // com.sun.nio.sctp.SctpSocketOption name
        start local 2 // java.lang.Object value
        start local 3 // com.sun.nio.sctp.Association association
         0: .line 395
            aload 1 /* name */
            ifnonnull 2
         1: .line 396
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.supportedOptions:()Ljava/util/Set;
            aload 1 /* name */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 398
            new java.lang.UnsupportedOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "' not supported"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         5: .line 401
            aload 3 /* association */
            ifnull 8
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_PRIMARY_ADDR:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 402
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_SET_PEER_PRIMARY_ADDR:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 403
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 3 /* association */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.checkAssociation:(Lcom/sun/nio/sctp/Association;)Z
            pop
         8: .line 405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isOpen:()Z
            ifne 10
         9: .line 406
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
        10: .line 408
      StackMap locals:
      StackMap stack:
            aload 3 /* association */
            ifnonnull 11
            iconst_0
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 3 /* association */
            invokevirtual com.sun.nio.sctp.Association.associationID:()I
      StackMap locals:
      StackMap stack: int
        12: istore 5 /* assocId */
        start local 5 // int assocId
        13: .line 409
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fdVal:I
            aload 1 /* name */
            aload 2 /* value */
            iload 5 /* assocId */
            invokestatic sun.nio.ch.sctp.SctpNet.setSocketOption:(ILcom/sun/nio/sctp/SctpSocketOption;Ljava/lang/Object;I)V
        end local 5 // int assocId
        14: .line 400
            aload 4
            monitorexit
        15: goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: aload 4
            monitorexit
        17: athrow
        18: .line 411
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // com.sun.nio.sctp.Association association
        end local 2 // java.lang.Object value
        end local 1 // com.sun.nio.sctp.SctpSocketOption name
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   19     1         name  Lcom/sun/nio/sctp/SctpSocketOption<TT;>;
            0   19     2        value  TT;
            0   19     3  association  Lcom/sun/nio/sctp/Association;
           13   14     5      assocId  I
      Exception table:
        from    to  target  type
           5    15      16  any
          16    17      16  any
    Exceptions:
      throws java.io.IOException
    Signature: <T:Ljava/lang/Object;>(Lcom/sun/nio/sctp/SctpSocketOption<TT;>;TT;Lcom/sun/nio/sctp/Association;)Lcom/sun/nio/sctp/SctpMultiChannel;
    MethodParameters:
             Name  Flags
      name         
      value        
      association  

  public <T> T getOption(com.sun.nio.sctp.SctpSocketOption<T>, com.sun.nio.sctp.Association);
    descriptor: (Lcom/sun/nio/sctp/SctpSocketOption;Lcom/sun/nio/sctp/Association;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // com.sun.nio.sctp.SctpSocketOption name
        start local 2 // com.sun.nio.sctp.Association association
         0: .line 418
            aload 1 /* name */
            ifnonnull 2
         1: .line 419
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 420
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.supportedOptions:()Ljava/util/Set;
            aload 1 /* name */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 421
            new java.lang.UnsupportedOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "' not supported"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 423
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         5: .line 424
            aload 2 /* association */
            ifnull 8
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_PRIMARY_ADDR:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 425
            aload 1 /* name */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_SET_PEER_PRIMARY_ADDR:Lcom/sun/nio/sctp/SctpSocketOption;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 426
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 2 /* association */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.checkAssociation:(Lcom/sun/nio/sctp/Association;)Z
            pop
         8: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isOpen:()Z
            ifne 10
         9: .line 429
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
        10: .line 431
      StackMap locals:
      StackMap stack:
            aload 2 /* association */
            ifnonnull 11
            iconst_0
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 2 /* association */
            invokevirtual com.sun.nio.sctp.Association.associationID:()I
      StackMap locals:
      StackMap stack: int
        12: istore 4 /* assocId */
        start local 4 // int assocId
        13: .line 432
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fdVal:I
            aload 1 /* name */
            iload 4 /* assocId */
            invokestatic sun.nio.ch.sctp.SctpNet.getSocketOption:(ILcom/sun/nio/sctp/SctpSocketOption;I)Ljava/lang/Object;
            aload 3
            monitorexit
        14: areturn
        end local 4 // int assocId
        15: .line 423
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        16: athrow
        end local 2 // com.sun.nio.sctp.Association association
        end local 1 // com.sun.nio.sctp.SctpSocketOption name
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   17     1         name  Lcom/sun/nio/sctp/SctpSocketOption<TT;>;
            0   17     2  association  Lcom/sun/nio/sctp/Association;
           13   15     4      assocId  I
      Exception table:
        from    to  target  type
           5    14      15  any
          15    16      15  any
    Exceptions:
      throws java.io.IOException
    Signature: <T:Ljava/lang/Object;>(Lcom/sun/nio/sctp/SctpSocketOption<TT;>;Lcom/sun/nio/sctp/Association;)TT;
    MethodParameters:
             Name  Flags
      name         
      association  

  public final java.util.Set<com.sun.nio.sctp.SctpSocketOption<?>> supportedOptions();
    descriptor: ()Ljava/util/Set;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
         0: .line 457
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl$DefaultOptionsHolder.defaultOptions:Ljava/util/Set;
            areturn
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
    Signature: ()Ljava/util/Set<Lcom/sun/nio/sctp/SctpSocketOption<*>;>;

  public <T> com.sun.nio.sctp.MessageInfo receive(java.nio.ByteBuffer, T, com.sun.nio.sctp.NotificationHandler<T>);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/lang/Object;Lcom/sun/nio/sctp/NotificationHandler;)Lcom/sun/nio/sctp/MessageInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=13, args_size=4
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // java.nio.ByteBuffer buffer
        start local 2 // java.lang.Object attachment
        start local 3 // com.sun.nio.sctp.NotificationHandler handler
         0: .line 465
            aload 1 /* buffer */
            ifnonnull 2
         1: .line 466
            new java.lang.IllegalArgumentException
            dup
            ldc "buffer cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 468
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.isReadOnly:()Z
            ifeq 4
         3: .line 469
            new java.lang.IllegalArgumentException
            dup
            ldc "Read-only buffer"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 471
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 8
         5: .line 472
            new com.sun.nio.sctp.IllegalReceiveException
            dup
         6: .line 473
            ldc "cannot invoke receive from handler"
         7: .line 472
            invokespecial com.sun.nio.sctp.IllegalReceiveException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 474
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         9: .line 477
            new sun.nio.ch.sctp.ResultContainer
            dup
            invokespecial sun.nio.ch.sctp.ResultContainer.<init>:()V
            astore 4 /* resultContainer */
        start local 4 // sun.nio.ch.sctp.ResultContainer resultContainer
        10: .line 479
      StackMap locals: sun.nio.ch.sctp.ResultContainer
      StackMap stack:
            aload 4 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.clear:()V
        11: .line 480
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiveLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
        12: .line 481
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.ensureOpen:()V
        13: .line 482
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isBound:()Z
            ifne 15
        14: .line 483
            new java.nio.channels.NotYetBoundException
            dup
            invokespecial java.nio.channels.NotYetBoundException.<init>:()V
            athrow
        15: .line 485
      StackMap locals: java.lang.Object
      StackMap stack:
            iconst_0
            istore 6 /* n */
        start local 6 // int n
        16: .line 487
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.begin:()V
        17: .line 489
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 7
            monitorenter
        18: .line 490
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isOpen:()Z
            ifne 28
        19: .line 491
            aload 7
            monitorexit
        20: .line 500
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.receiverCleanup:()V
        21: .line 501
            aload 0 /* this */
            iload 6 /* n */
            ifgt 22
            iload 6 /* n */
            bipush -2
            if_icmpeq 22
            iconst_0
            goto 23
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.nio.ByteBuffer java.lang.Object com.sun.nio.sctp.NotificationHandler sun.nio.ch.sctp.ResultContainer java.lang.Object int java.lang.Object
      StackMap stack: sun.nio.ch.sctp.SctpMultiChannelImpl
        22: iconst_1
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.nio.ByteBuffer java.lang.Object com.sun.nio.sctp.NotificationHandler sun.nio.ch.sctp.ResultContainer java.lang.Object int java.lang.Object
      StackMap stack: sun.nio.ch.sctp.SctpMultiChannelImpl int
        23: invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.end:(Z)V
        24: .line 502
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl.$assertionsDisabled:Z
            ifne 25
            iload 6 /* n */
            invokestatic sun.nio.ch.IOStatus.check:(I)Z
            ifne 25
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
      StackMap locals:
      StackMap stack:
        25: aload 5
            monitorexit
        26: .line 545
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        27: .line 491
            aconst_null
            areturn
        28: .line 492
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic sun.nio.ch.NativeThread.current:()J
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiverThread:J
        29: .line 489
            aload 7
            monitorexit
        30: goto 33
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: aload 7
            monitorexit
        32: athrow
        33: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fdVal:I
            aload 1 /* buffer */
            aload 4 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.receive:(ILjava/nio/ByteBuffer;Lsun/nio/ch/sctp/ResultContainer;)I
            istore 6 /* n */
        34: .line 497
            iload 6 /* n */
            bipush -3
            if_icmpne 43
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isOpen:()Z
            ifne 33
        35: .line 499
            goto 43
      StackMap locals:
      StackMap stack: java.lang.Throwable
        36: astore 8
        37: .line 500
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.receiverCleanup:()V
        38: .line 501
            aload 0 /* this */
            iload 6 /* n */
            ifgt 39
            iload 6 /* n */
            bipush -2
            if_icmpeq 39
            iconst_0
            goto 40
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.nio.ByteBuffer java.lang.Object com.sun.nio.sctp.NotificationHandler sun.nio.ch.sctp.ResultContainer java.lang.Object int top java.lang.Throwable
      StackMap stack: sun.nio.ch.sctp.SctpMultiChannelImpl
        39: iconst_1
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.nio.ByteBuffer java.lang.Object com.sun.nio.sctp.NotificationHandler sun.nio.ch.sctp.ResultContainer java.lang.Object int top java.lang.Throwable
      StackMap stack: sun.nio.ch.sctp.SctpMultiChannelImpl int
        40: invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.end:(Z)V
        41: .line 502
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl.$assertionsDisabled:Z
            ifne 42
            iload 6 /* n */
            invokestatic sun.nio.ch.IOStatus.check:(I)Z
            ifne 42
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        42: .line 503
      StackMap locals:
      StackMap stack:
            aload 8
            athrow
        43: .line 500
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.nio.ByteBuffer java.lang.Object com.sun.nio.sctp.NotificationHandler sun.nio.ch.sctp.ResultContainer java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.receiverCleanup:()V
        44: .line 501
            aload 0 /* this */
            iload 6 /* n */
            ifgt 45
            iload 6 /* n */
            bipush -2
            if_icmpeq 45
            iconst_0
            goto 46
      StackMap locals:
      StackMap stack: sun.nio.ch.sctp.SctpMultiChannelImpl
        45: iconst_1
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.nio.ByteBuffer java.lang.Object com.sun.nio.sctp.NotificationHandler sun.nio.ch.sctp.ResultContainer java.lang.Object int
      StackMap stack: sun.nio.ch.sctp.SctpMultiChannelImpl int
        46: invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.end:(Z)V
        47: .line 502
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl.$assertionsDisabled:Z
            ifne 48
            iload 6 /* n */
            invokestatic sun.nio.ch.IOStatus.check:(I)Z
            ifne 48
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        48: .line 505
      StackMap locals:
      StackMap stack:
            aload 4 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.isNotification:()Z
            ifne 73
        49: .line 507
            aload 4 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.hasSomething:()Z
            ifeq 70
        50: .line 510
            aload 4 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.getMessageInfo:()Lsun/nio/ch/sctp/MessageInfoImpl;
        51: .line 509
            astore 7 /* info */
        start local 7 // sun.nio.ch.sctp.MessageInfoImpl info
        52: .line 511
            aload 7 /* info */
            aload 0 /* this */
            aload 7 /* info */
        53: .line 512
            invokevirtual sun.nio.ch.sctp.MessageInfoImpl.associationID:()I
        54: .line 511
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.lookupAssociation:(I)Lcom/sun/nio/sctp/Association;
            invokevirtual sun.nio.ch.sctp.MessageInfoImpl.setAssociation:(Lcom/sun/nio/sctp/Association;)V
        55: .line 513
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 8 /* sm */
        start local 8 // java.lang.SecurityManager sm
        56: .line 514
            aload 8 /* sm */
            ifnull 66
        57: .line 515
            aload 7 /* info */
            invokevirtual sun.nio.ch.sctp.MessageInfoImpl.address:()Ljava/net/SocketAddress;
            checkcast java.net.InetSocketAddress
            astore 9 /* isa */
        start local 9 // java.net.InetSocketAddress isa
        58: .line 516
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.addressMap:Ljava/util/HashMap;
            aload 9 /* isa */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 66
        59: .line 519
            aload 8 /* sm */
            aload 9 /* isa */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
        60: .line 520
            aload 9 /* isa */
            invokevirtual java.net.InetSocketAddress.getPort:()I
        61: .line 519
            invokevirtual java.lang.SecurityManager.checkAccept:(Ljava/lang/String;I)V
        62: .line 521
            goto 66
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.nio.ByteBuffer java.lang.Object com.sun.nio.sctp.NotificationHandler sun.nio.ch.sctp.ResultContainer java.lang.Object int sun.nio.ch.sctp.MessageInfoImpl java.lang.SecurityManager java.net.InetSocketAddress
      StackMap stack: java.lang.SecurityException
        63: astore 10 /* se */
        start local 10 // java.lang.SecurityException se
        64: .line 522
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        65: .line 523
            aload 10 /* se */
            athrow
        end local 10 // java.lang.SecurityException se
        end local 9 // java.net.InetSocketAddress isa
        66: .line 528
      StackMap locals:
      StackMap stack:
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl.$assertionsDisabled:Z
            ifne 67
            aload 7 /* info */
            invokevirtual sun.nio.ch.sctp.MessageInfoImpl.association:()Lcom/sun/nio/sctp/Association;
            ifnonnull 67
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        67: .line 529
      StackMap locals:
      StackMap stack:
            aload 7 /* info */
            astore 12
            aload 5
            monitorexit
        68: .line 545
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        69: .line 529
            aload 12
            areturn
        end local 8 // java.lang.SecurityManager sm
        end local 7 // sun.nio.ch.sctp.MessageInfoImpl info
        70: .line 532
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        71: .line 545
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        72: .line 532
            aconst_null
            areturn
        73: .line 535
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 7
            monitorenter
        74: .line 536
            aload 0 /* this */
        75: .line 537
            aload 4 /* resultContainer */
        76: .line 536
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.handleNotificationInternal:(Lsun/nio/ch/sctp/ResultContainer;)V
        77: .line 535
            aload 7
            monitorexit
        78: goto 81
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.nio.ByteBuffer java.lang.Object com.sun.nio.sctp.NotificationHandler sun.nio.ch.sctp.ResultContainer java.lang.Object int java.lang.Object
      StackMap stack: java.lang.Throwable
        79: aload 7
            monitorexit
        80: athrow
        end local 6 // int n
        81: .line 480
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        82: goto 85
      StackMap locals:
      StackMap stack: java.lang.Throwable
        83: aload 5
            monitorexit
        84: athrow
        85: .line 541
      StackMap locals:
      StackMap stack:
            aload 3 /* handler */
            ifnonnull 86
            goto 10
        86: .line 542
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* resultContainer */
            aload 3 /* handler */
            aload 2 /* attachment */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.invokeNotificationHandler:(Lsun/nio/ch/sctp/ResultContainer;Lcom/sun/nio/sctp/NotificationHandler;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
        87: .line 543
            getstatic com.sun.nio.sctp.HandlerResult.CONTINUE:Lcom/sun/nio/sctp/HandlerResult;
        88: .line 542
            if_acmpeq 10
        end local 4 // sun.nio.ch.sctp.ResultContainer resultContainer
        89: .line 544
            goto 93
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.nio.ByteBuffer java.lang.Object com.sun.nio.sctp.NotificationHandler
      StackMap stack: java.lang.Throwable
        90: astore 11
        91: .line 545
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        92: .line 546
            aload 11
            athrow
        93: .line 545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        94: .line 548
            aconst_null
            areturn
        end local 3 // com.sun.nio.sctp.NotificationHandler handler
        end local 2 // java.lang.Object attachment
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   95     0             this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   95     1           buffer  Ljava/nio/ByteBuffer;
            0   95     2       attachment  TT;
            0   95     3          handler  Lcom/sun/nio/sctp/NotificationHandler<TT;>;
           10   89     4  resultContainer  Lsun/nio/ch/sctp/ResultContainer;
           16   81     6                n  I
           52   70     7             info  Lsun/nio/ch/sctp/MessageInfoImpl;
           56   70     8               sm  Ljava/lang/SecurityManager;
           58   66     9              isa  Ljava/net/InetSocketAddress;
           64   66    10               se  Ljava/lang/SecurityException;
      Exception table:
        from    to  target  type
          18    20      31  any
          28    30      31  any
          31    32      31  any
          16    20      36  any
          28    36      36  any
          59    62      63  Class java.lang.SecurityException
          74    78      79  any
          79    80      79  any
          12    26      83  any
          28    68      83  any
          70    71      83  any
          73    82      83  any
          83    84      83  any
           9    26      90  any
          28    68      90  any
          70    71      90  any
          73    90      90  any
    Exceptions:
      throws java.io.IOException
    Signature: <T:Ljava/lang/Object;>(Ljava/nio/ByteBuffer;TT;Lcom/sun/nio/sctp/NotificationHandler<TT;>;)Lcom/sun/nio/sctp/MessageInfo;
    MethodParameters:
            Name  Flags
      buffer      
      attachment  
      handler     

  private int receive(int, java.nio.ByteBuffer, sun.nio.ch.sctp.ResultContainer);
    descriptor: (ILjava/nio/ByteBuffer;Lsun/nio/ch/sctp/ResultContainer;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=12, args_size=4
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // int fd
        start local 2 // java.nio.ByteBuffer dst
        start local 3 // sun.nio.ch.sctp.ResultContainer resultContainer
         0: .line 555
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 4 /* pos */
        start local 4 // int pos
         1: .line 556
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 5 /* lim */
        start local 5 // int lim
         2: .line 557
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl.$assertionsDisabled:Z
            ifne 3
            iload 4 /* pos */
            iload 5 /* lim */
            if_icmple 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 558
      StackMap locals: int int
      StackMap stack:
            iload 4 /* pos */
            iload 5 /* lim */
            if_icmpgt 4
            iload 5 /* lim */
            iload 4 /* pos */
            isub
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 6 /* rem */
        start local 6 // int rem
         6: .line 559
            aload 2 /* dst */
            instanceof sun.nio.ch.DirectBuffer
            ifeq 8
            iload 6 /* rem */
            ifle 8
         7: .line 560
            aload 0 /* this */
            iload 1 /* fd */
            aload 3 /* resultContainer */
            aload 2 /* dst */
            iload 6 /* rem */
            iload 4 /* pos */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.receiveIntoNativeBuffer:(ILsun/nio/ch/sctp/ResultContainer;Ljava/nio/ByteBuffer;II)I
            ireturn
         8: .line 563
      StackMap locals: int
      StackMap stack:
            iload 6 /* rem */
            iconst_1
            invokestatic java.lang.Math.max:(II)I
            istore 7 /* newSize */
        start local 7 // int newSize
         9: .line 564
            iload 7 /* newSize */
            invokestatic sun.nio.ch.Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
            astore 8 /* bb */
        start local 8 // java.nio.ByteBuffer bb
        10: .line 566
            aload 0 /* this */
            iload 1 /* fd */
            aload 3 /* resultContainer */
            aload 8 /* bb */
            iload 7 /* newSize */
            iconst_0
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.receiveIntoNativeBuffer:(ILsun/nio/ch/sctp/ResultContainer;Ljava/nio/ByteBuffer;II)I
            istore 9 /* n */
        start local 9 // int n
        11: .line 567
            aload 8 /* bb */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        12: .line 568
            iload 9 /* n */
            ifle 14
            iload 6 /* rem */
            ifle 14
        13: .line 569
            aload 2 /* dst */
            aload 8 /* bb */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
        14: .line 570
      StackMap locals: int java.nio.ByteBuffer int
      StackMap stack:
            iload 9 /* n */
            istore 11
        15: .line 572
            aload 8 /* bb */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
        16: .line 570
            iload 11
            ireturn
        end local 9 // int n
        17: .line 571
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl int java.nio.ByteBuffer sun.nio.ch.sctp.ResultContainer int int int int java.nio.ByteBuffer
      StackMap stack: java.lang.Throwable
            astore 10
        18: .line 572
            aload 8 /* bb */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
        19: .line 573
            aload 10
            athrow
        end local 8 // java.nio.ByteBuffer bb
        end local 7 // int newSize
        end local 6 // int rem
        end local 5 // int lim
        end local 4 // int pos
        end local 3 // sun.nio.ch.sctp.ResultContainer resultContainer
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // int fd
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0             this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   20     1               fd  I
            0   20     2              dst  Ljava/nio/ByteBuffer;
            0   20     3  resultContainer  Lsun/nio/ch/sctp/ResultContainer;
            1   20     4              pos  I
            2   20     5              lim  I
            6   20     6              rem  I
            9   20     7          newSize  I
           10   20     8               bb  Ljava/nio/ByteBuffer;
           11   17     9                n  I
      Exception table:
        from    to  target  type
          10    15      17  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      fd               
      dst              
      resultContainer  

  private int receiveIntoNativeBuffer(int, sun.nio.ch.sctp.ResultContainer, java.nio.ByteBuffer, int, int);
    descriptor: (ILsun/nio/ch/sctp/ResultContainer;Ljava/nio/ByteBuffer;II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // int fd
        start local 2 // sun.nio.ch.sctp.ResultContainer resultContainer
        start local 3 // java.nio.ByteBuffer bb
        start local 4 // int rem
        start local 5 // int pos
         0: .line 582
            iload 1 /* fd */
            aload 2 /* resultContainer */
            aload 3 /* bb */
            checkcast sun.nio.ch.DirectBuffer
            invokeinterface sun.nio.ch.DirectBuffer.address:()J
            iload 5 /* pos */
            i2l
            ladd
            iload 4 /* rem */
            invokestatic sun.nio.ch.sctp.SctpMultiChannelImpl.receive0:(ILsun/nio/ch/sctp/ResultContainer;JI)I
            istore 6 /* n */
        start local 6 // int n
         1: .line 583
            iload 6 /* n */
            ifle 3
         2: .line 584
            aload 3 /* bb */
            iload 5 /* pos */
            iload 6 /* n */
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         3: .line 585
      StackMap locals: int
      StackMap stack:
            iload 6 /* n */
            ireturn
        end local 6 // int n
        end local 5 // int pos
        end local 4 // int rem
        end local 3 // java.nio.ByteBuffer bb
        end local 2 // sun.nio.ch.sctp.ResultContainer resultContainer
        end local 1 // int fd
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0    4     1               fd  I
            0    4     2  resultContainer  Lsun/nio/ch/sctp/ResultContainer;
            0    4     3               bb  Ljava/nio/ByteBuffer;
            0    4     4              rem  I
            0    4     5              pos  I
            1    4     6                n  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      fd               
      resultContainer  
      bb               
      rem              
      pos              

  private void handleNotificationInternal(sun.nio.ch.sctp.ResultContainer);
    descriptor: (Lsun/nio/ch/sctp/ResultContainer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // sun.nio.ch.sctp.ResultContainer resultContainer
         0: .line 593
            aload 0 /* this */
            aload 1 /* resultContainer */
         1: .line 594
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.internalNotificationHandler:Lsun/nio/ch/sctp/SctpMultiChannelImpl$InternalNotificationHandler;
            aconst_null
         2: .line 593
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.invokeNotificationHandler:(Lsun/nio/ch/sctp/ResultContainer;Lcom/sun/nio/sctp/NotificationHandler;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
            pop
         3: .line 595
            return
        end local 1 // sun.nio.ch.sctp.ResultContainer resultContainer
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0    4     1  resultContainer  Lsun/nio/ch/sctp/ResultContainer;
    MethodParameters:
                 Name  Flags
      resultContainer  

  private <T> com.sun.nio.sctp.HandlerResult invokeNotificationHandler(sun.nio.ch.sctp.ResultContainer, com.sun.nio.sctp.NotificationHandler<T>, T);
    descriptor: (Lsun/nio/ch/sctp/ResultContainer;Lcom/sun/nio/sctp/NotificationHandler;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // sun.nio.ch.sctp.ResultContainer resultContainer
        start local 2 // com.sun.nio.sctp.NotificationHandler handler
        start local 3 // java.lang.Object attachment
         0: .line 627
            aload 1 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.notification:()Lsun/nio/ch/sctp/SctpNotification;
            astore 5 /* notification */
        start local 5 // sun.nio.ch.sctp.SctpNotification notification
         1: .line 628
            aload 5 /* notification */
            aload 0 /* this */
            aload 5 /* notification */
            invokeinterface sun.nio.ch.sctp.SctpNotification.assocId:()I
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.lookupAssociation:(I)Lcom/sun/nio/sctp/Association;
            invokeinterface sun.nio.ch.sctp.SctpNotification.setAssociation:(Lcom/sun/nio/sctp/Association;)V
         2: .line 630
            aload 2 /* handler */
            instanceof com.sun.nio.sctp.AbstractNotificationHandler
            ifne 5
         3: .line 631
            aload 2 /* handler */
            aload 5 /* notification */
            aload 3 /* attachment */
            invokeinterface com.sun.nio.sctp.NotificationHandler.handleNotification:(Lcom/sun/nio/sctp/Notification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
            astore 4 /* result */
        start local 4 // com.sun.nio.sctp.HandlerResult result
         4: .line 632
            goto 27
        end local 4 // com.sun.nio.sctp.HandlerResult result
         5: .line 634
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl sun.nio.ch.sctp.ResultContainer com.sun.nio.sctp.NotificationHandler java.lang.Object top sun.nio.ch.sctp.SctpNotification
      StackMap stack:
            aload 2 /* handler */
            checkcast com.sun.nio.sctp.AbstractNotificationHandler
         6: .line 633
            astore 6 /* absHandler */
        start local 6 // com.sun.nio.sctp.AbstractNotificationHandler absHandler
         7: .line 635
            aload 1 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.type:()I
            tableswitch { // 2 - 5
                    2: 16
                    3: 8
                    4: 12
                    5: 20
              default: 24
          }
         8: .line 637
      StackMap locals: com.sun.nio.sctp.AbstractNotificationHandler
      StackMap stack:
            aload 6 /* absHandler */
         9: .line 638
            aload 1 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.getAssociationChanged:()Lsun/nio/ch/sctp/AssociationChange;
            aload 3 /* attachment */
        10: .line 637
            invokevirtual com.sun.nio.sctp.AbstractNotificationHandler.handleNotification:(Lcom/sun/nio/sctp/AssociationChangeNotification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
            astore 4 /* result */
        start local 4 // com.sun.nio.sctp.HandlerResult result
        11: .line 639
            goto 27
        end local 4 // com.sun.nio.sctp.HandlerResult result
        12: .line 641
      StackMap locals:
      StackMap stack:
            aload 6 /* absHandler */
        13: .line 642
            aload 1 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.getPeerAddressChanged:()Lsun/nio/ch/sctp/PeerAddrChange;
            aload 3 /* attachment */
        14: .line 641
            invokevirtual com.sun.nio.sctp.AbstractNotificationHandler.handleNotification:(Lcom/sun/nio/sctp/PeerAddressChangeNotification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
            astore 4 /* result */
        start local 4 // com.sun.nio.sctp.HandlerResult result
        15: .line 643
            goto 27
        end local 4 // com.sun.nio.sctp.HandlerResult result
        16: .line 645
      StackMap locals:
      StackMap stack:
            aload 6 /* absHandler */
        17: .line 646
            aload 1 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.getSendFailed:()Lsun/nio/ch/sctp/SendFailed;
            aload 3 /* attachment */
        18: .line 645
            invokevirtual com.sun.nio.sctp.AbstractNotificationHandler.handleNotification:(Lcom/sun/nio/sctp/SendFailedNotification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
            astore 4 /* result */
        start local 4 // com.sun.nio.sctp.HandlerResult result
        19: .line 647
            goto 27
        end local 4 // com.sun.nio.sctp.HandlerResult result
        20: .line 649
      StackMap locals:
      StackMap stack:
            aload 6 /* absHandler */
        21: .line 650
            aload 1 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.getShutdown:()Lsun/nio/ch/sctp/Shutdown;
            aload 3 /* attachment */
        22: .line 649
            invokevirtual com.sun.nio.sctp.AbstractNotificationHandler.handleNotification:(Lcom/sun/nio/sctp/ShutdownNotification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
            astore 4 /* result */
        start local 4 // com.sun.nio.sctp.HandlerResult result
        23: .line 651
            goto 27
        end local 4 // com.sun.nio.sctp.HandlerResult result
        24: .line 654
      StackMap locals:
      StackMap stack:
            aload 6 /* absHandler */
        25: .line 655
            aload 1 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.notification:()Lsun/nio/ch/sctp/SctpNotification;
            aload 3 /* attachment */
        26: .line 654
            invokevirtual com.sun.nio.sctp.AbstractNotificationHandler.handleNotification:(Lcom/sun/nio/sctp/Notification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
            astore 4 /* result */
        end local 6 // com.sun.nio.sctp.AbstractNotificationHandler absHandler
        start local 4 // com.sun.nio.sctp.HandlerResult result
        27: .line 659
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl sun.nio.ch.sctp.ResultContainer com.sun.nio.sctp.NotificationHandler java.lang.Object com.sun.nio.sctp.HandlerResult sun.nio.ch.sctp.SctpNotification
      StackMap stack:
            aload 2 /* handler */
            instanceof sun.nio.ch.sctp.SctpMultiChannelImpl$InternalNotificationHandler
            ifne 32
        28: .line 662
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.associationToRemove:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast com.sun.nio.sctp.Association
            astore 6 /* assoc */
        start local 6 // com.sun.nio.sctp.Association assoc
        29: .line 663
            aload 6 /* assoc */
            ifnull 32
        30: .line 664
            aload 0 /* this */
            aload 6 /* assoc */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.removeAssociation:(Lcom/sun/nio/sctp/Association;)V
        31: .line 665
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.associationToRemove:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        end local 6 // com.sun.nio.sctp.Association assoc
        32: .line 670
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 5 // sun.nio.ch.sctp.SctpNotification notification
        end local 4 // com.sun.nio.sctp.HandlerResult result
        end local 3 // java.lang.Object attachment
        end local 2 // com.sun.nio.sctp.NotificationHandler handler
        end local 1 // sun.nio.ch.sctp.ResultContainer resultContainer
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   33     0             this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   33     1  resultContainer  Lsun/nio/ch/sctp/ResultContainer;
            0   33     2          handler  Lcom/sun/nio/sctp/NotificationHandler<TT;>;
            0   33     3       attachment  TT;
            4    5     4           result  Lcom/sun/nio/sctp/HandlerResult;
           11   12     4           result  Lcom/sun/nio/sctp/HandlerResult;
           15   16     4           result  Lcom/sun/nio/sctp/HandlerResult;
           19   20     4           result  Lcom/sun/nio/sctp/HandlerResult;
           23   24     4           result  Lcom/sun/nio/sctp/HandlerResult;
           27   33     4           result  Lcom/sun/nio/sctp/HandlerResult;
            1   33     5     notification  Lsun/nio/ch/sctp/SctpNotification;
            7   27     6       absHandler  Lcom/sun/nio/sctp/AbstractNotificationHandler<TT;>;
           29   32     6            assoc  Lcom/sun/nio/sctp/Association;
    Signature: <T:Ljava/lang/Object;>(Lsun/nio/ch/sctp/ResultContainer;Lcom/sun/nio/sctp/NotificationHandler<TT;>;TT;)Lcom/sun/nio/sctp/HandlerResult;
    MethodParameters:
                 Name  Flags
      resultContainer  
      handler          
      attachment       

  private com.sun.nio.sctp.Association lookupAssociation(int);
    descriptor: (I)Lcom/sun/nio/sctp/Association;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // int assocId
         0: .line 675
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 676
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.associationMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 3 /* assocs */
        start local 3 // java.util.Set assocs
         2: .line 677
            aload 3 /* assocs */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl int java.lang.Object java.util.Set top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.nio.sctp.Association
            astore 4 /* a */
        start local 4 // com.sun.nio.sctp.Association a
         4: .line 678
            aload 4 /* a */
            invokevirtual com.sun.nio.sctp.Association.associationID:()I
            iload 1 /* assocId */
            if_icmpne 7
         5: .line 679
            aload 4 /* a */
            aload 2
            monitorexit
         6: areturn
        end local 4 // com.sun.nio.sctp.Association a
         7: .line 677
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // java.util.Set assocs
         8: .line 675
            aload 2
            monitorexit
         9: goto 12
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl int java.lang.Object
      StackMap stack: java.lang.Throwable
        10: aload 2
            monitorexit
        11: athrow
        12: .line 683
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int assocId
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   13     1  assocId  I
            2    8     3   assocs  Ljava/util/Set<Lcom/sun/nio/sctp/Association;>;
            4    7     4        a  Lcom/sun/nio/sctp/Association;
      Exception table:
        from    to  target  type
           1     6      10  any
           7     9      10  any
          10    11      10  any
    MethodParameters:
         Name  Flags
      assocId  

  private void addAssociation(com.sun.nio.sctp.Association);
    descriptor: (Lcom/sun/nio/sctp/Association;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // com.sun.nio.sctp.Association association
         0: .line 687
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 688
            aload 1 /* association */
            invokevirtual com.sun.nio.sctp.Association.associationID:()I
            istore 3 /* assocId */
        start local 3 // int assocId
         2: .line 689
            aconst_null
            astore 4 /* addresses */
        start local 4 // java.util.Set addresses
         3: .line 692
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fdVal:I
            iload 3 /* assocId */
            invokestatic sun.nio.ch.sctp.SctpNet.getRemoteAddresses:(II)Ljava/util/Set;
            astore 4 /* addresses */
         4: .line 693
            goto 6
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl com.sun.nio.sctp.Association java.lang.Object int java.util.Set
      StackMap stack: java.io.IOException
         5: pop
         6: .line 698
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.associationMap:Ljava/util/HashMap;
            aload 1 /* association */
            aload 4 /* addresses */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 699
            aload 4 /* addresses */
            ifnull 12
         8: .line 700
            aload 4 /* addresses */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl com.sun.nio.sctp.Association java.lang.Object int java.util.Set top java.util.Iterator
      StackMap stack:
         9: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.net.SocketAddress
            astore 5 /* addr */
        start local 5 // java.net.SocketAddress addr
        10: .line 701
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.addressMap:Ljava/util/HashMap;
            aload 5 /* addr */
            aload 1 /* association */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.net.SocketAddress addr
        11: .line 700
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 4 // java.util.Set addresses
        end local 3 // int assocId
        12: .line 687
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl com.sun.nio.sctp.Association java.lang.Object
      StackMap stack:
            aload 2
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 2
            monitorexit
        15: athrow
        16: .line 704
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.nio.sctp.Association association
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   17     1  association  Lcom/sun/nio/sctp/Association;
            2   12     3      assocId  I
            3   12     4    addresses  Ljava/util/Set<Ljava/net/SocketAddress;>;
           10   11     5         addr  Ljava/net/SocketAddress;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
           1    13      14  any
          14    15      14  any
    MethodParameters:
             Name  Flags
      association  

  private void removeAssociation(com.sun.nio.sctp.Association);
    descriptor: (Lcom/sun/nio/sctp/Association;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=9, args_size=2
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // com.sun.nio.sctp.Association association
         0: .line 707
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 708
            aload 1 /* association */
            invokevirtual com.sun.nio.sctp.Association.associationID:()I
            istore 3 /* assocId */
        start local 3 // int assocId
         2: .line 709
            aconst_null
            astore 4 /* addresses */
        start local 4 // java.util.Set addresses
         3: .line 712
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fdVal:I
            iload 3 /* assocId */
            invokestatic sun.nio.ch.sctp.SctpNet.getRemoteAddresses:(II)Ljava/util/Set;
            astore 4 /* addresses */
         4: .line 713
            goto 6
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl com.sun.nio.sctp.Association java.lang.Object int java.util.Set
      StackMap stack: java.io.IOException
         5: pop
         6: .line 718
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.associationMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 5 /* assocs */
        start local 5 // java.util.Set assocs
         7: .line 719
            aload 5 /* assocs */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 12
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl com.sun.nio.sctp.Association java.lang.Object int java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
         8: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.nio.sctp.Association
            astore 6 /* a */
        start local 6 // com.sun.nio.sctp.Association a
         9: .line 720
            aload 6 /* a */
            invokevirtual com.sun.nio.sctp.Association.associationID:()I
            iload 3 /* assocId */
            if_icmpne 12
        10: .line 721
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.associationMap:Ljava/util/HashMap;
            aload 6 /* a */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 722
            goto 13
        end local 6 // com.sun.nio.sctp.Association a
        12: .line 719
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        13: .line 725
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl com.sun.nio.sctp.Association java.lang.Object int java.util.Set java.util.Set
      StackMap stack:
            aload 4 /* addresses */
            ifnull 19
        14: .line 726
            aload 4 /* addresses */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 17
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl com.sun.nio.sctp.Association java.lang.Object int java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        15: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.net.SocketAddress
            astore 6 /* addr */
        start local 6 // java.net.SocketAddress addr
        16: .line 727
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.addressMap:Ljava/util/HashMap;
            aload 6 /* addr */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.net.SocketAddress addr
        17: .line 726
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        18: .line 728
            goto 27
        19: .line 731
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl com.sun.nio.sctp.Association java.lang.Object int java.util.Set java.util.Set
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.addressMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
        20: .line 730
            astore 6 /* addrAssocs */
        start local 6 // java.util.Set addrAssocs
        21: .line 732
            aload 6 /* addrAssocs */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7 /* iterator */
        start local 7 // java.util.Iterator iterator
        22: .line 733
            goto 26
        23: .line 734
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 7 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 8 /* entry */
        start local 8 // java.util.Map$Entry entry
        24: .line 735
            aload 8 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.sun.nio.sctp.Association
            aload 1 /* association */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 26
        25: .line 736
            aload 7 /* iterator */
            invokeinterface java.util.Iterator.remove:()V
        end local 8 // java.util.Map$Entry entry
        26: .line 733
      StackMap locals:
      StackMap stack:
            aload 7 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        end local 7 // java.util.Iterator iterator
        end local 6 // java.util.Set addrAssocs
        end local 5 // java.util.Set assocs
        end local 4 // java.util.Set addresses
        end local 3 // int assocId
        27: .line 707
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl com.sun.nio.sctp.Association java.lang.Object
      StackMap stack:
            aload 2
            monitorexit
        28: goto 31
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: aload 2
            monitorexit
        30: athrow
        31: .line 741
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.nio.sctp.Association association
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   32     0         this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   32     1  association  Lcom/sun/nio/sctp/Association;
            2   27     3      assocId  I
            3   27     4    addresses  Ljava/util/Set<Ljava/net/SocketAddress;>;
            7   27     5       assocs  Ljava/util/Set<Lcom/sun/nio/sctp/Association;>;
            9   12     6            a  Lcom/sun/nio/sctp/Association;
           16   17     6         addr  Ljava/net/SocketAddress;
           21   27     6   addrAssocs  Ljava/util/Set<Ljava/util/Map$Entry<Ljava/net/SocketAddress;Lcom/sun/nio/sctp/Association;>;>;
           22   27     7     iterator  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/net/SocketAddress;Lcom/sun/nio/sctp/Association;>;>;
           24   26     8        entry  Ljava/util/Map$Entry<Ljava/net/SocketAddress;Lcom/sun/nio/sctp/Association;>;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
           1    28      29  any
          29    30      29  any
    MethodParameters:
             Name  Flags
      association  

  private boolean checkAssociation(com.sun.nio.sctp.Association);
    descriptor: (Lcom/sun/nio/sctp/Association;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // com.sun.nio.sctp.Association messageAssoc
         0: .line 751
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 752
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.associationMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl com.sun.nio.sctp.Association java.lang.Object top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.nio.sctp.Association
            astore 3 /* association */
        start local 3 // com.sun.nio.sctp.Association association
         3: .line 753
            aload 1 /* messageAssoc */
            aload 3 /* association */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 754
            aload 2
            monitorexit
         5: iconst_1
            ireturn
        end local 3 // com.sun.nio.sctp.Association association
         6: .line 752
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 751
            aload 2
            monitorexit
         8: goto 11
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl com.sun.nio.sctp.Association java.lang.Object
      StackMap stack: java.lang.Throwable
         9: aload 2
            monitorexit
        10: athrow
        11: .line 758
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        12: .line 759
            ldc "Given Association is not controlled by this channel"
        13: .line 758
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // com.sun.nio.sctp.Association messageAssoc
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   14     1  messageAssoc  Lcom/sun/nio/sctp/Association;
            3    6     3   association  Lcom/sun/nio/sctp/Association;
      Exception table:
        from    to  target  type
           1     5       9  any
           6     8       9  any
           9    10       9  any
    MethodParameters:
              Name  Flags
      messageAssoc  

  private void checkStreamNumber(com.sun.nio.sctp.Association, int);
    descriptor: (Lcom/sun/nio/sctp/Association;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // com.sun.nio.sctp.Association assoc
        start local 2 // int streamNumber
         0: .line 763
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 764
            iload 2 /* streamNumber */
            iflt 2
            iload 2 /* streamNumber */
            aload 1 /* assoc */
            invokevirtual com.sun.nio.sctp.Association.maxOutboundStreams:()I
            if_icmplt 3
         2: .line 765
      StackMap locals: java.lang.Object
      StackMap stack:
            new com.sun.nio.sctp.InvalidStreamException
            dup
            invokespecial com.sun.nio.sctp.InvalidStreamException.<init>:()V
            athrow
         3: .line 763
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
         4: goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: aload 3
            monitorexit
         6: athrow
         7: .line 767
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int streamNumber
        end local 1 // com.sun.nio.sctp.Association assoc
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0    8     1         assoc  Lcom/sun/nio/sctp/Association;
            0    8     2  streamNumber  I
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
              Name  Flags
      assoc         
      streamNumber  

  public int send(java.nio.ByteBuffer, com.sun.nio.sctp.MessageInfo);
    descriptor: (Ljava/nio/ByteBuffer;Lcom/sun/nio/sctp/MessageInfo;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=14, args_size=3
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // java.nio.ByteBuffer buffer
        start local 2 // com.sun.nio.sctp.MessageInfo messageInfo
         0: .line 776
            aload 1 /* buffer */
            ifnonnull 2
         1: .line 777
            new java.lang.IllegalArgumentException
            dup
            ldc "buffer cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 779
      StackMap locals:
      StackMap stack:
            aload 2 /* messageInfo */
            ifnonnull 4
         3: .line 780
            new java.lang.IllegalArgumentException
            dup
            ldc "messageInfo cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 782
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.sendLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         5: .line 783
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.ensureOpen:()V
         6: .line 785
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isBound:()Z
            ifne 8
         7: .line 786
            aload 0 /* this */
            aconst_null
            iconst_0
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.bind:(Ljava/net/SocketAddress;I)Lcom/sun/nio/sctp/SctpMultiChannel;
            pop
         8: .line 788
      StackMap locals: java.lang.Object
      StackMap stack:
            iconst_0
            istore 4 /* n */
        start local 4 // int n
         9: .line 790
            iconst_m1
            istore 5 /* assocId */
        start local 5 // int assocId
        10: .line 791
            aconst_null
            astore 6 /* address */
        start local 6 // java.net.SocketAddress address
        11: .line 792
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.begin:()V
        12: .line 794
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 7
            monitorenter
        13: .line 795
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isOpen:()Z
            ifne 22
        14: .line 796
            aload 7
            monitorexit
        15: .line 837
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.senderCleanup:()V
        16: .line 838
            aload 0 /* this */
            iload 4 /* n */
            ifgt 17
            iload 4 /* n */
            bipush -2
            if_icmpeq 17
            iconst_0
            goto 18
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo java.lang.Object int int java.net.SocketAddress java.lang.Object
      StackMap stack: sun.nio.ch.sctp.SctpMultiChannelImpl
        17: iconst_1
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo java.lang.Object int int java.net.SocketAddress java.lang.Object
      StackMap stack: sun.nio.ch.sctp.SctpMultiChannelImpl int
        18: invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.end:(Z)V
        19: .line 839
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl.$assertionsDisabled:Z
            ifne 20
            iload 4 /* n */
            invokestatic sun.nio.ch.IOStatus.check:(I)Z
            ifne 20
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
      StackMap locals:
      StackMap stack:
        20: aload 3
            monitorexit
        21: .line 796
            iconst_0
            ireturn
        22: .line 797
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic sun.nio.ch.NativeThread.current:()J
            putfield sun.nio.ch.sctp.SctpMultiChannelImpl.senderThread:J
        23: .line 800
            aload 2 /* messageInfo */
            invokevirtual com.sun.nio.sctp.MessageInfo.association:()Lcom/sun/nio/sctp/Association;
            astore 8 /* assoc */
        start local 8 // com.sun.nio.sctp.Association assoc
        24: .line 801
            aload 2 /* messageInfo */
            invokevirtual com.sun.nio.sctp.MessageInfo.address:()Ljava/net/SocketAddress;
            checkcast java.net.InetSocketAddress
            astore 9 /* addr */
        start local 9 // java.net.InetSocketAddress addr
        25: .line 802
            aload 8 /* assoc */
            ifnull 34
        26: .line 803
            aload 0 /* this */
            aload 8 /* assoc */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.checkAssociation:(Lcom/sun/nio/sctp/Association;)Z
            pop
        27: .line 804
            aload 0 /* this */
            aload 8 /* assoc */
            aload 2 /* messageInfo */
            invokevirtual com.sun.nio.sctp.MessageInfo.streamNumber:()I
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.checkStreamNumber:(Lcom/sun/nio/sctp/Association;I)V
        28: .line 805
            aload 8 /* assoc */
            invokevirtual com.sun.nio.sctp.Association.associationID:()I
            istore 5 /* assocId */
        29: .line 807
            aload 9 /* addr */
            ifnull 50
        30: .line 808
            aload 8 /* assoc */
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.addressMap:Ljava/util/HashMap;
            aload 9 /* addr */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 32
        31: .line 809
            new java.lang.IllegalArgumentException
            dup
            ldc "given preferred address is not part of this association"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 810
      StackMap locals: com.sun.nio.sctp.Association java.net.InetSocketAddress
      StackMap stack:
            aload 9 /* addr */
            astore 6 /* address */
        33: .line 812
            goto 50
      StackMap locals:
      StackMap stack:
        34: aload 9 /* addr */
            ifnull 47
        35: .line 813
            aload 9 /* addr */
            astore 6 /* address */
        36: .line 814
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.addressMap:Ljava/util/HashMap;
            aload 9 /* addr */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.nio.sctp.Association
            astore 10 /* association */
        start local 10 // com.sun.nio.sctp.Association association
        37: .line 815
            aload 10 /* association */
            ifnull 41
        38: .line 816
            aload 0 /* this */
            aload 10 /* association */
            aload 2 /* messageInfo */
            invokevirtual com.sun.nio.sctp.MessageInfo.streamNumber:()I
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.checkStreamNumber:(Lcom/sun/nio/sctp/Association;I)V
        39: .line 817
            aload 10 /* association */
            invokevirtual com.sun.nio.sctp.Association.associationID:()I
            istore 5 /* assocId */
        40: .line 819
            goto 50
        41: .line 820
      StackMap locals: com.sun.nio.sctp.Association
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 11 /* sm */
        start local 11 // java.lang.SecurityManager sm
        42: .line 821
            aload 11 /* sm */
            ifnull 50
        43: .line 822
            aload 11 /* sm */
            aload 9 /* addr */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
        44: .line 823
            aload 9 /* addr */
            invokevirtual java.net.InetSocketAddress.getPort:()I
        45: .line 822
            invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
        end local 11 // java.lang.SecurityManager sm
        end local 10 // com.sun.nio.sctp.Association association
        46: .line 825
            goto 50
        47: .line 826
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
        48: .line 827
            ldc "Both association and address cannot be null"
        49: .line 826
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 9 // java.net.InetSocketAddress addr
        end local 8 // com.sun.nio.sctp.Association assoc
        50: .line 794
      StackMap locals:
      StackMap stack:
            aload 7
            monitorexit
        51: goto 54
      StackMap locals:
      StackMap stack: java.lang.Throwable
        52: aload 7
            monitorexit
        53: athrow
        54: .line 832
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fdVal:I
            aload 1 /* buffer */
            iload 5 /* assocId */
            aload 6 /* address */
            aload 2 /* messageInfo */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.send:(ILjava/nio/ByteBuffer;ILjava/net/SocketAddress;Lcom/sun/nio/sctp/MessageInfo;)I
            istore 4 /* n */
        55: .line 833
            iload 4 /* n */
            bipush -3
            if_icmpne 56
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isOpen:()Z
            ifne 54
        56: .line 835
      StackMap locals:
      StackMap stack:
            iload 4 /* n */
            invokestatic sun.nio.ch.IOStatus.normalize:(I)I
            istore 13
        57: .line 837
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.senderCleanup:()V
        58: .line 838
            aload 0 /* this */
            iload 4 /* n */
            ifgt 59
            iload 4 /* n */
            bipush -2
            if_icmpeq 59
            iconst_0
            goto 60
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo java.lang.Object int int java.net.SocketAddress top top top top top top int
      StackMap stack: sun.nio.ch.sctp.SctpMultiChannelImpl
        59: iconst_1
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo java.lang.Object int int java.net.SocketAddress top top top top top top int
      StackMap stack: sun.nio.ch.sctp.SctpMultiChannelImpl int
        60: invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.end:(Z)V
        61: .line 839
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl.$assertionsDisabled:Z
            ifne 62
            iload 4 /* n */
            invokestatic sun.nio.ch.IOStatus.check:(I)Z
            ifne 62
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        62: .line 835
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        63: iload 13
            ireturn
        end local 6 // java.net.SocketAddress address
        end local 5 // int assocId
        64: .line 836
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo java.lang.Object int
      StackMap stack: java.lang.Throwable
            astore 12
        65: .line 837
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.senderCleanup:()V
        66: .line 838
            aload 0 /* this */
            iload 4 /* n */
            ifgt 67
            iload 4 /* n */
            bipush -2
            if_icmpeq 67
            iconst_0
            goto 68
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo java.lang.Object int top top top top top top top java.lang.Throwable
      StackMap stack: sun.nio.ch.sctp.SctpMultiChannelImpl
        67: iconst_1
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo java.lang.Object int top top top top top top top java.lang.Throwable
      StackMap stack: sun.nio.ch.sctp.SctpMultiChannelImpl int
        68: invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.end:(Z)V
        69: .line 839
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl.$assertionsDisabled:Z
            ifne 70
            iload 4 /* n */
            invokestatic sun.nio.ch.IOStatus.check:(I)Z
            ifne 70
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        70: .line 840
      StackMap locals:
      StackMap stack:
            aload 12
            athrow
        end local 4 // int n
        71: .line 782
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        72: athrow
        end local 2 // com.sun.nio.sctp.MessageInfo messageInfo
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   73     0         this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   73     1       buffer  Ljava/nio/ByteBuffer;
            0   73     2  messageInfo  Lcom/sun/nio/sctp/MessageInfo;
            9   71     4            n  I
           10   64     5      assocId  I
           11   64     6      address  Ljava/net/SocketAddress;
           24   50     8        assoc  Lcom/sun/nio/sctp/Association;
           25   50     9         addr  Ljava/net/InetSocketAddress;
           37   46    10  association  Lcom/sun/nio/sctp/Association;
           42   46    11           sm  Ljava/lang/SecurityManager;
      Exception table:
        from    to  target  type
          13    15      52  any
          22    51      52  any
          52    53      52  any
           9    15      64  any
          22    57      64  any
           5    21      71  any
          22    63      71  any
          64    72      71  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      buffer       
      messageInfo  

  private int send(int, java.nio.ByteBuffer, int, java.net.SocketAddress, com.sun.nio.sctp.MessageInfo);
    descriptor: (ILjava/nio/ByteBuffer;ILjava/net/SocketAddress;Lcom/sun/nio/sctp/MessageInfo;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=16, args_size=6
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // int fd
        start local 2 // java.nio.ByteBuffer src
        start local 3 // int assocId
        start local 4 // java.net.SocketAddress target
        start local 5 // com.sun.nio.sctp.MessageInfo messageInfo
         0: .line 850
            aload 5 /* messageInfo */
            invokevirtual com.sun.nio.sctp.MessageInfo.streamNumber:()I
            istore 6 /* streamNumber */
        start local 6 // int streamNumber
         1: .line 851
            aload 5 /* messageInfo */
            invokevirtual com.sun.nio.sctp.MessageInfo.isUnordered:()Z
            istore 7 /* unordered */
        start local 7 // boolean unordered
         2: .line 852
            aload 5 /* messageInfo */
            invokevirtual com.sun.nio.sctp.MessageInfo.payloadProtocolID:()I
            istore 8 /* ppid */
        start local 8 // int ppid
         3: .line 854
            aload 2 /* src */
            instanceof sun.nio.ch.DirectBuffer
            ifeq 7
         4: .line 855
            aload 0 /* this */
            iload 1 /* fd */
            aload 2 /* src */
            aload 4 /* target */
            iload 3 /* assocId */
         5: .line 856
            iload 6 /* streamNumber */
            iload 7 /* unordered */
            iload 8 /* ppid */
         6: .line 855
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.sendFromNativeBuffer:(ILjava/nio/ByteBuffer;Ljava/net/SocketAddress;IIZI)I
            ireturn
         7: .line 859
      StackMap locals: int int int
      StackMap stack:
            aload 2 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 9 /* pos */
        start local 9 // int pos
         8: .line 860
            aload 2 /* src */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 10 /* lim */
        start local 10 // int lim
         9: .line 861
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl.$assertionsDisabled:Z
            ifne 11
            iload 9 /* pos */
            iload 10 /* lim */
            if_icmpgt 10
            iload 6 /* streamNumber */
            ifge 11
      StackMap locals: int int
      StackMap stack:
        10: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 863
      StackMap locals:
      StackMap stack:
            iload 9 /* pos */
            iload 10 /* lim */
            if_icmpgt 12
            iload 10 /* lim */
            iload 9 /* pos */
            isub
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 11 /* rem */
        start local 11 // int rem
        14: .line 864
            iload 11 /* rem */
            invokestatic sun.nio.ch.Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
            astore 12 /* bb */
        start local 12 // java.nio.ByteBuffer bb
        15: .line 866
            aload 12 /* bb */
            aload 2 /* src */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
        16: .line 867
            aload 12 /* bb */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        17: .line 869
            aload 2 /* src */
            iload 9 /* pos */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        18: .line 871
            aload 0 /* this */
            iload 1 /* fd */
            aload 12 /* bb */
            aload 4 /* target */
            iload 3 /* assocId */
        19: .line 872
            iload 6 /* streamNumber */
            iload 7 /* unordered */
            iload 8 /* ppid */
        20: .line 871
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.sendFromNativeBuffer:(ILjava/nio/ByteBuffer;Ljava/net/SocketAddress;IIZI)I
            istore 13 /* n */
        start local 13 // int n
        21: .line 873
            iload 13 /* n */
            ifle 23
        22: .line 875
            aload 2 /* src */
            iload 9 /* pos */
            iload 13 /* n */
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        23: .line 877
      StackMap locals: int java.nio.ByteBuffer int
      StackMap stack:
            iload 13 /* n */
            istore 15
        24: .line 879
            aload 12 /* bb */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
        25: .line 877
            iload 15
            ireturn
        end local 13 // int n
        26: .line 878
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl int java.nio.ByteBuffer int java.net.SocketAddress com.sun.nio.sctp.MessageInfo int int int int int int java.nio.ByteBuffer
      StackMap stack: java.lang.Throwable
            astore 14
        27: .line 879
            aload 12 /* bb */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
        28: .line 880
            aload 14
            athrow
        end local 12 // java.nio.ByteBuffer bb
        end local 11 // int rem
        end local 10 // int lim
        end local 9 // int pos
        end local 8 // int ppid
        end local 7 // boolean unordered
        end local 6 // int streamNumber
        end local 5 // com.sun.nio.sctp.MessageInfo messageInfo
        end local 4 // java.net.SocketAddress target
        end local 3 // int assocId
        end local 2 // java.nio.ByteBuffer src
        end local 1 // int fd
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   29     0          this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   29     1            fd  I
            0   29     2           src  Ljava/nio/ByteBuffer;
            0   29     3       assocId  I
            0   29     4        target  Ljava/net/SocketAddress;
            0   29     5   messageInfo  Lcom/sun/nio/sctp/MessageInfo;
            1   29     6  streamNumber  I
            2   29     7     unordered  Z
            3   29     8          ppid  I
            8   29     9           pos  I
            9   29    10           lim  I
           14   29    11           rem  I
           15   29    12            bb  Ljava/nio/ByteBuffer;
           21   26    13             n  I
      Exception table:
        from    to  target  type
          15    24      26  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fd           
      src          
      assocId      
      target       
      messageInfo  

  private int sendFromNativeBuffer(int, java.nio.ByteBuffer, java.net.SocketAddress, int, int, boolean, int);
    descriptor: (ILjava/nio/ByteBuffer;Ljava/net/SocketAddress;IIZI)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=14, args_size=8
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // int fd
        start local 2 // java.nio.ByteBuffer bb
        start local 3 // java.net.SocketAddress target
        start local 4 // int assocId
        start local 5 // int streamNumber
        start local 6 // boolean unordered
        start local 7 // int ppid
         0: .line 891
            aconst_null
            astore 8 /* addr */
        start local 8 // java.net.InetAddress addr
         1: .line 892
            iconst_0
            istore 9 /* port */
        start local 9 // int port
         2: .line 893
            aload 3 /* target */
            ifnull 6
         3: .line 894
            aload 3 /* target */
            invokestatic sun.nio.ch.Net.checkAddress:(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
            astore 10 /* isa */
        start local 10 // java.net.InetSocketAddress isa
         4: .line 895
            aload 10 /* isa */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            astore 8 /* addr */
         5: .line 896
            aload 10 /* isa */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            istore 9 /* port */
        end local 10 // java.net.InetSocketAddress isa
         6: .line 898
      StackMap locals: java.net.InetAddress int
      StackMap stack:
            aload 2 /* bb */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 10 /* pos */
        start local 10 // int pos
         7: .line 899
            aload 2 /* bb */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 11 /* lim */
        start local 11 // int lim
         8: .line 900
            getstatic sun.nio.ch.sctp.SctpMultiChannelImpl.$assertionsDisabled:Z
            ifne 9
            iload 10 /* pos */
            iload 11 /* lim */
            if_icmple 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 901
      StackMap locals: int int
      StackMap stack:
            iload 10 /* pos */
            iload 11 /* lim */
            if_icmpgt 10
            iload 11 /* lim */
            iload 10 /* pos */
            isub
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 12 /* rem */
        start local 12 // int rem
        12: .line 903
            iload 1 /* fd */
            aload 2 /* bb */
            checkcast sun.nio.ch.DirectBuffer
            invokeinterface sun.nio.ch.DirectBuffer.address:()J
            iload 10 /* pos */
            i2l
            ladd
            iload 12 /* rem */
            aload 8 /* addr */
        13: .line 904
            iload 9 /* port */
            iload 4 /* assocId */
            iload 5 /* streamNumber */
            iload 6 /* unordered */
            iload 7 /* ppid */
        14: .line 903
            invokestatic sun.nio.ch.sctp.SctpMultiChannelImpl.send0:(IJILjava/net/InetAddress;IIIZI)I
            istore 13 /* written */
        start local 13 // int written
        15: .line 905
            iload 13 /* written */
            ifle 17
        16: .line 906
            aload 2 /* bb */
            iload 10 /* pos */
            iload 13 /* written */
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        17: .line 907
      StackMap locals: int int
      StackMap stack:
            iload 13 /* written */
            ireturn
        end local 13 // int written
        end local 12 // int rem
        end local 11 // int lim
        end local 10 // int pos
        end local 9 // int port
        end local 8 // java.net.InetAddress addr
        end local 7 // int ppid
        end local 6 // boolean unordered
        end local 5 // int streamNumber
        end local 4 // int assocId
        end local 3 // java.net.SocketAddress target
        end local 2 // java.nio.ByteBuffer bb
        end local 1 // int fd
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   18     1            fd  I
            0   18     2            bb  Ljava/nio/ByteBuffer;
            0   18     3        target  Ljava/net/SocketAddress;
            0   18     4       assocId  I
            0   18     5  streamNumber  I
            0   18     6     unordered  Z
            0   18     7          ppid  I
            1   18     8          addr  Ljava/net/InetAddress;
            2   18     9          port  I
            4    6    10           isa  Ljava/net/InetSocketAddress;
            7   18    10           pos  I
            8   18    11           lim  I
           12   18    12           rem  I
           15   18    13       written  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      fd            
      bb            
      target        
      assocId       
      streamNumber  
      unordered     
      ppid          

  public com.sun.nio.sctp.SctpMultiChannel shutdown(com.sun.nio.sctp.Association);
    descriptor: (Lcom/sun/nio/sctp/Association;)Lcom/sun/nio/sctp/SctpMultiChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // com.sun.nio.sctp.Association association
         0: .line 913
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 914
            aload 0 /* this */
            aload 1 /* association */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.checkAssociation:(Lcom/sun/nio/sctp/Association;)Z
            pop
         2: .line 915
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isOpen:()Z
            ifne 4
         3: .line 916
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         4: .line 918
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fdVal:I
            aload 1 /* association */
            invokevirtual com.sun.nio.sctp.Association.associationID:()I
            invokestatic sun.nio.ch.sctp.SctpNet.shutdown:(II)V
         5: .line 913
            aload 2
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 920
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // com.sun.nio.sctp.Association association
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   10     1  association  Lcom/sun/nio/sctp/Association;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      association  

  public java.util.Set<java.net.SocketAddress> getAllLocalAddresses();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
         0: .line 926
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 927
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isOpen:()Z
            ifne 3
         2: .line 928
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         3: .line 929
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isBound:()Z
            ifne 6
         4: .line 930
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            aload 1
            monitorexit
         5: areturn
         6: .line 932
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fdVal:I
            invokestatic sun.nio.ch.sctp.SctpNet.getLocalAddresses:(I)Ljava/util/Set;
            aload 1
            monitorexit
         7: areturn
         8: .line 926
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         9: athrow
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
      Exception table:
        from    to  target  type
           1     5       8  any
           6     7       8  any
           8     9       8  any
    Exceptions:
      throws java.io.IOException
    Signature: ()Ljava/util/Set<Ljava/net/SocketAddress;>;

  public java.util.Set<java.net.SocketAddress> getRemoteAddresses(com.sun.nio.sctp.Association);
    descriptor: (Lcom/sun/nio/sctp/Association;)Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // com.sun.nio.sctp.Association association
         0: .line 939
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 940
            aload 0 /* this */
            aload 1 /* association */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.checkAssociation:(Lcom/sun/nio/sctp/Association;)Z
            pop
         2: .line 941
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isOpen:()Z
            ifne 4
         3: .line 942
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         4: .line 945
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fdVal:I
            aload 1 /* association */
            invokevirtual com.sun.nio.sctp.Association.associationID:()I
            invokestatic sun.nio.ch.sctp.SctpNet.getRemoteAddresses:(II)Ljava/util/Set;
         5: aload 2
            monitorexit
         6: areturn
         7: .line 946
      StackMap locals:
      StackMap stack: java.net.SocketException
            pop
         8: .line 948
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.associationMap:Ljava/util/HashMap;
            aload 1 /* association */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 3 /* addrs */
        start local 3 // java.util.Set addrs
         9: .line 949
            aload 3 /* addrs */
            ifnull 10
            aload 3 /* addrs */
            goto 11
      StackMap locals: java.util.Set
      StackMap stack:
        10: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
      StackMap locals:
      StackMap stack: java.util.Set
        11: aload 2
            monitorexit
        12: areturn
        end local 3 // java.util.Set addrs
        13: .line 939
      StackMap locals: sun.nio.ch.sctp.SctpMultiChannelImpl com.sun.nio.sctp.Association java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        14: athrow
        end local 1 // com.sun.nio.sctp.Association association
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   15     1  association  Lcom/sun/nio/sctp/Association;
            9   13     3        addrs  Ljava/util/Set<Ljava/net/SocketAddress;>;
      Exception table:
        from    to  target  type
           4     5       7  Class java.net.SocketException
           1     6      13  any
           7    12      13  any
          13    14      13  any
    Exceptions:
      throws java.io.IOException
    Signature: (Lcom/sun/nio/sctp/Association;)Ljava/util/Set<Ljava/net/SocketAddress;>;
    MethodParameters:
             Name  Flags
      association  

  public com.sun.nio.sctp.SctpChannel branch(com.sun.nio.sctp.Association);
    descriptor: (Lcom/sun/nio/sctp/Association;)Lcom/sun/nio/sctp/SctpChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
        start local 1 // com.sun.nio.sctp.Association association
         0: .line 957
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 958
            aload 0 /* this */
            aload 1 /* association */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.checkAssociation:(Lcom/sun/nio/sctp/Association;)Z
            pop
         2: .line 959
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.isOpen:()Z
            ifne 4
         3: .line 960
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         4: .line 962
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpMultiChannelImpl.fdVal:I
         5: .line 963
            aload 1 /* association */
            invokevirtual com.sun.nio.sctp.Association.associationID:()I
         6: .line 962
            invokestatic sun.nio.ch.sctp.SctpNet.branch:(II)Ljava/io/FileDescriptor;
            astore 3 /* bFd */
        start local 3 // java.io.FileDescriptor bFd
         7: .line 965
            aload 0 /* this */
            aload 1 /* association */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.removeAssociation:(Lcom/sun/nio/sctp/Association;)V
         8: .line 967
            new sun.nio.ch.sctp.SctpChannelImpl
            dup
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpMultiChannelImpl.provider:()Ljava/nio/channels/spi/SelectorProvider;
            aload 3 /* bFd */
            aload 1 /* association */
            invokespecial sun.nio.ch.sctp.SctpChannelImpl.<init>:(Ljava/nio/channels/spi/SelectorProvider;Ljava/io/FileDescriptor;Lcom/sun/nio/sctp/Association;)V
            aload 2
            monitorexit
         9: areturn
        end local 3 // java.io.FileDescriptor bFd
        10: .line 957
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        11: athrow
        end local 1 // com.sun.nio.sctp.Association association
        end local 0 // sun.nio.ch.sctp.SctpMultiChannelImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lsun/nio/ch/sctp/SctpMultiChannelImpl;
            0   12     1  association  Lcom/sun/nio/sctp/Association;
            7   10     3          bFd  Ljava/io/FileDescriptor;
      Exception table:
        from    to  target  type
           1     9      10  any
          10    11      10  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      association  

  private static int receive0(int, sun.nio.ch.sctp.ResultContainer, long, int);
    descriptor: (ILsun/nio/ch/sctp/ResultContainer;JI)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // int fd
        start local 1 // sun.nio.ch.sctp.ResultContainer resultContainer
        start local 2 // long address
        start local 4 // int length
         0: .line 978
            iload 0 /* fd */
            aload 1 /* resultContainer */
            lload 2 /* address */
         1: .line 979
            iload 4 /* length */
            iconst_0
         2: .line 978
            invokestatic sun.nio.ch.sctp.SctpChannelImpl.receive0:(ILsun/nio/ch/sctp/ResultContainer;JIZ)I
            ireturn
        end local 4 // int length
        end local 2 // long address
        end local 1 // sun.nio.ch.sctp.ResultContainer resultContainer
        end local 0 // int fd
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0               fd  I
            0    3     1  resultContainer  Lsun/nio/ch/sctp/ResultContainer;
            0    3     2          address  J
            0    3     4           length  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      fd               
      resultContainer  
      address          
      length           

  private static int send0(int, long, int, java.net.InetAddress, int, int, int, boolean, int);
    descriptor: (IJILjava/net/InetAddress;IIIZI)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=10, args_size=9
        start local 0 // int fd
        start local 1 // long address
        start local 3 // int length
        start local 4 // java.net.InetAddress addr
        start local 5 // int port
        start local 6 // int assocId
        start local 7 // int streamNumber
        start local 8 // boolean unordered
        start local 9 // int ppid
         0: .line 992
            iload 0 /* fd */
            lload 1 /* address */
            iload 3 /* length */
            aload 4 /* addr */
            iload 5 /* port */
            iload 6 /* assocId */
         1: .line 993
            iload 7 /* streamNumber */
            iload 8 /* unordered */
            iload 9 /* ppid */
         2: .line 992
            invokestatic sun.nio.ch.sctp.SctpChannelImpl.send0:(IJILjava/net/InetAddress;IIIZI)I
            ireturn
        end local 9 // int ppid
        end local 8 // boolean unordered
        end local 7 // int streamNumber
        end local 6 // int assocId
        end local 5 // int port
        end local 4 // java.net.InetAddress addr
        end local 3 // int length
        end local 1 // long address
        end local 0 // int fd
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0            fd  I
            0    3     1       address  J
            0    3     3        length  I
            0    3     4          addr  Ljava/net/InetAddress;
            0    3     5          port  I
            0    3     6       assocId  I
            0    3     7  streamNumber  I
            0    3     8     unordered  Z
            0    3     9          ppid  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      fd            
      address       
      length        
      addr          
      port          
      assocId       
      streamNumber  
      unordered     
      ppid          
}
SourceFile: "SctpMultiChannelImpl.java"
NestMembers:
  sun.nio.ch.sctp.SctpMultiChannelImpl$1  sun.nio.ch.sctp.SctpMultiChannelImpl$2  sun.nio.ch.sctp.SctpMultiChannelImpl$3  sun.nio.ch.sctp.SctpMultiChannelImpl$ChannelState  sun.nio.ch.sctp.SctpMultiChannelImpl$DefaultOptionsHolder  sun.nio.ch.sctp.SctpMultiChannelImpl$InternalNotificationHandler
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  sun.nio.ch.sctp.SctpMultiChannelImpl$1
  sun.nio.ch.sctp.SctpMultiChannelImpl$2
  sun.nio.ch.sctp.SctpMultiChannelImpl$3
  private final ChannelState = sun.nio.ch.sctp.SctpMultiChannelImpl$ChannelState of sun.nio.ch.sctp.SctpMultiChannelImpl
  private DefaultOptionsHolder = sun.nio.ch.sctp.SctpMultiChannelImpl$DefaultOptionsHolder of sun.nio.ch.sctp.SctpMultiChannelImpl
  private InternalNotificationHandler = sun.nio.ch.sctp.SctpMultiChannelImpl$InternalNotificationHandler of sun.nio.ch.sctp.SctpMultiChannelImpl