class org.xnio.Xnio$MBeanCloseable extends java.util.concurrent.atomic.AtomicBoolean implements java.io.Closeable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.xnio.Xnio$MBeanCloseable
  super_class: java.util.concurrent.atomic.AtomicBoolean
{
  private final javax.management.ObjectName objectName;
    descriptor: Ljavax/management/ObjectName;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.xnio.Xnio$MBeanCloseable this
        start local 1 // javax.management.ObjectName objectName
         0: .line 618
            aload 0 /* this */
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
         1: .line 619
            aload 0 /* this */
            aload 1 /* objectName */
            putfield org.xnio.Xnio$MBeanCloseable.objectName:Ljavax/management/ObjectName;
         2: .line 620
            return
        end local 1 // javax.management.ObjectName objectName
        end local 0 // org.xnio.Xnio$MBeanCloseable this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/xnio/Xnio$MBeanCloseable;
            0    3     1  objectName  Ljavax/management/ObjectName;
    MethodParameters:
            Name  Flags
      objectName  final

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.xnio.Xnio$MBeanCloseable this
         0: .line 623
            aload 0 /* this */
            iconst_1
            invokevirtual org.xnio.Xnio$MBeanCloseable.getAndSet:(Z)Z
            ifne 4
         1: .line 624
            getstatic org.xnio.Xnio$MBeanHolder.MBEAN_SERVER:Ljavax/management/MBeanServer;
            aload 0 /* this */
            getfield org.xnio.Xnio$MBeanCloseable.objectName:Ljavax/management/ObjectName;
            invokeinterface javax.management.MBeanServer.unregisterMBean:(Ljavax/management/ObjectName;)V
         2: .line 625
            goto 4
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: pop
         4: .line 627
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.xnio.Xnio$MBeanCloseable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/xnio/Xnio$MBeanCloseable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable
}
SourceFile: "Xnio.java"
NestHost: org.xnio.Xnio
InnerClasses:
  MBeanCloseable = org.xnio.Xnio$MBeanCloseable of org.xnio.Xnio
  final MBeanHolder = org.xnio.Xnio$MBeanHolder of org.xnio.Xnio