public class android.net.lowpan.LowpanCommissioningSession
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.net.lowpan.LowpanCommissioningSession
  super_class: java.lang.Object
{
  private final android.net.lowpan.ILowpanInterface mBinder;
    descriptor: Landroid/net/lowpan/ILowpanInterface;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.net.lowpan.LowpanBeaconInfo mBeaconInfo;
    descriptor: Landroid/net/lowpan/LowpanBeaconInfo;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.net.lowpan.ILowpanInterfaceListener mInternalCallback;
    descriptor: Landroid/net/lowpan/ILowpanInterfaceListener;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.os.Looper mLooper;
    descriptor: Landroid/os/Looper;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private android.os.Handler mHandler;
    descriptor: Landroid/os/Handler;
    flags: (0x0002) ACC_PRIVATE

  private android.net.lowpan.LowpanCommissioningSession$Callback mCallback;
    descriptor: Landroid/net/lowpan/LowpanCommissioningSession$Callback;
    flags: (0x0002) ACC_PRIVATE

  private volatile boolean mIsClosed;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  void <init>(android.net.lowpan.ILowpanInterface, android.net.lowpan.LowpanBeaconInfo, android.os.Looper);
    descriptor: (Landroid/net/lowpan/ILowpanInterface;Landroid/net/lowpan/LowpanBeaconInfo;Landroid/os/Looper;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // android.net.lowpan.LowpanCommissioningSession this
        start local 1 // android.net.lowpan.ILowpanInterface binder
        start local 2 // android.net.lowpan.LowpanBeaconInfo beaconInfo
        start local 3 // android.os.Looper looper
         0: .line 113
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 40
            aload 0 /* this */
            new android.net.lowpan.LowpanCommissioningSession$InternalCallback
            dup
            aload 0 /* this */
            invokespecial android.net.lowpan.LowpanCommissioningSession$InternalCallback.<init>:(Landroid/net/lowpan/LowpanCommissioningSession;)V
            putfield android.net.lowpan.LowpanCommissioningSession.mInternalCallback:Landroid/net/lowpan/ILowpanInterfaceListener;
         2: .line 43
            aload 0 /* this */
            aconst_null
            putfield android.net.lowpan.LowpanCommissioningSession.mCallback:Landroid/net/lowpan/LowpanCommissioningSession$Callback;
         3: .line 44
            aload 0 /* this */
            iconst_0
            putfield android.net.lowpan.LowpanCommissioningSession.mIsClosed:Z
         4: .line 115
            aload 0 /* this */
            aload 1 /* binder */
            putfield android.net.lowpan.LowpanCommissioningSession.mBinder:Landroid/net/lowpan/ILowpanInterface;
         5: .line 116
            aload 0 /* this */
            aload 2 /* beaconInfo */
            putfield android.net.lowpan.LowpanCommissioningSession.mBeaconInfo:Landroid/net/lowpan/LowpanBeaconInfo;
         6: .line 117
            aload 0 /* this */
            aload 3 /* looper */
            putfield android.net.lowpan.LowpanCommissioningSession.mLooper:Landroid/os/Looper;
         7: .line 119
            aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mLooper:Landroid/os/Looper;
            ifnull 10
         8: .line 120
            aload 0 /* this */
            new android.os.Handler
            dup
            aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mLooper:Landroid/os/Looper;
            invokespecial android.os.Handler.<init>:(Landroid/os/Looper;)V
            putfield android.net.lowpan.LowpanCommissioningSession.mHandler:Landroid/os/Handler;
         9: .line 121
            goto 11
        10: .line 122
      StackMap locals: android.net.lowpan.LowpanCommissioningSession android.net.lowpan.ILowpanInterface android.net.lowpan.LowpanBeaconInfo android.os.Looper
      StackMap stack:
            aload 0 /* this */
            new android.os.Handler
            dup
            invokespecial android.os.Handler.<init>:()V
            putfield android.net.lowpan.LowpanCommissioningSession.mHandler:Landroid/os/Handler;
        11: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mBinder:Landroid/net/lowpan/ILowpanInterface;
            aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mInternalCallback:Landroid/net/lowpan/ILowpanInterfaceListener;
            invokeinterface android.net.lowpan.ILowpanInterface.addListener:(Landroid/net/lowpan/ILowpanInterfaceListener;)V
        12: .line 128
            goto 15
      StackMap locals:
      StackMap stack: android.os.RemoteException
        13: astore 4 /* x */
        start local 4 // android.os.RemoteException x
        14: .line 129
            aload 4 /* x */
            invokevirtual android.os.RemoteException.rethrowAsRuntimeException:()Ljava/lang/RuntimeException;
            athrow
        end local 4 // android.os.RemoteException x
        15: .line 131
      StackMap locals:
      StackMap stack:
            return
        end local 3 // android.os.Looper looper
        end local 2 // android.net.lowpan.LowpanBeaconInfo beaconInfo
        end local 1 // android.net.lowpan.ILowpanInterface binder
        end local 0 // android.net.lowpan.LowpanCommissioningSession this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Landroid/net/lowpan/LowpanCommissioningSession;
            0   16     1      binder  Landroid/net/lowpan/ILowpanInterface;
            0   16     2  beaconInfo  Landroid/net/lowpan/LowpanBeaconInfo;
            0   16     3      looper  Landroid/os/Looper;
           14   15     4           x  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
          11    12      13  Class android.os.RemoteException
    MethodParameters:
            Name  Flags
      binder      
      beaconInfo  
      looper      

  private void lockedCleanup();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.net.lowpan.LowpanCommissioningSession this
         0: .line 136
            aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mIsClosed:Z
            ifne 8
         1: .line 138
            aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mBinder:Landroid/net/lowpan/ILowpanInterface;
            aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mInternalCallback:Landroid/net/lowpan/ILowpanInterfaceListener;
            invokeinterface android.net.lowpan.ILowpanInterface.removeListener:(Landroid/net/lowpan/ILowpanInterfaceListener;)V
         2: .line 140
            goto 6
      StackMap locals:
      StackMap stack: android.os.DeadObjectException
         3: pop
            goto 6
         4: .line 145
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 1 /* x */
        start local 1 // android.os.RemoteException x
         5: .line 146
            aload 1 /* x */
            invokevirtual android.os.RemoteException.rethrowAsRuntimeException:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // android.os.RemoteException x
         6: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mCallback:Landroid/net/lowpan/LowpanCommissioningSession$Callback;
            ifnull 8
         7: .line 150
            aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mHandler:Landroid/os/Handler;
            aload 0 /* this */
            invokedynamic run(Landroid/net/lowpan/LowpanCommissioningSession;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  android/net/lowpan/LowpanCommissioningSession.lambda$0()V (7)
                  ()V
            invokevirtual android.os.Handler.post:(Ljava/lang/Runnable;)Z
            pop
         8: .line 154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield android.net.lowpan.LowpanCommissioningSession.mCallback:Landroid/net/lowpan/LowpanCommissioningSession$Callback;
         9: .line 155
            aload 0 /* this */
            iconst_1
            putfield android.net.lowpan.LowpanCommissioningSession.mIsClosed:Z
        10: .line 156
            return
        end local 0 // android.net.lowpan.LowpanCommissioningSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Landroid/net/lowpan/LowpanCommissioningSession;
            5    6     1     x  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           1     2       3  Class android.os.DeadObjectException
           1     2       4  Class android.os.RemoteException

  public android.net.lowpan.LowpanBeaconInfo getBeaconInfo();
    descriptor: ()Landroid/net/lowpan/LowpanBeaconInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.lowpan.LowpanCommissioningSession this
         0: .line 161
            aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mBeaconInfo:Landroid/net/lowpan/LowpanBeaconInfo;
            areturn
        end local 0 // android.net.lowpan.LowpanCommissioningSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/lowpan/LowpanCommissioningSession;

  public void sendToCommissioner(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.net.lowpan.LowpanCommissioningSession this
        start local 1 // byte[] packet
         0: .line 166
            aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mIsClosed:Z
            ifne 6
         1: .line 168
            aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mBinder:Landroid/net/lowpan/ILowpanInterface;
            aload 1 /* packet */
            invokeinterface android.net.lowpan.ILowpanInterface.sendToCommissioner:([B)V
         2: .line 170
            goto 6
      StackMap locals:
      StackMap stack: android.os.DeadObjectException
         3: pop
            goto 6
         4: .line 175
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 2 /* x */
        start local 2 // android.os.RemoteException x
         5: .line 176
            aload 2 /* x */
            invokevirtual android.os.RemoteException.rethrowAsRuntimeException:()Ljava/lang/RuntimeException;
            athrow
        end local 2 // android.os.RemoteException x
         6: .line 179
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] packet
        end local 0 // android.net.lowpan.LowpanCommissioningSession this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Landroid/net/lowpan/LowpanCommissioningSession;
            0    7     1  packet  [B
            5    6     2       x  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           1     2       3  Class android.os.DeadObjectException
           1     2       4  Class android.os.RemoteException
    MethodParameters:
        Name  Flags
      packet  

  public synchronized void setCallback(android.net.lowpan.LowpanCommissioningSession$Callback, android.os.Handler);
    descriptor: (Landroid/net/lowpan/LowpanCommissioningSession$Callback;Landroid/os/Handler;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.net.lowpan.LowpanCommissioningSession this
        start local 1 // android.net.lowpan.LowpanCommissioningSession$Callback cb
        start local 2 // android.os.Handler handler
         0: .line 183
            aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mIsClosed:Z
            ifne 9
         1: .line 194
            aload 2 /* handler */
            ifnull 4
         2: .line 195
            aload 0 /* this */
            aload 2 /* handler */
            putfield android.net.lowpan.LowpanCommissioningSession.mHandler:Landroid/os/Handler;
         3: .line 196
            goto 8
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mLooper:Landroid/os/Looper;
            ifnull 7
         5: .line 197
            aload 0 /* this */
            new android.os.Handler
            dup
            aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mLooper:Landroid/os/Looper;
            invokespecial android.os.Handler.<init>:(Landroid/os/Looper;)V
            putfield android.net.lowpan.LowpanCommissioningSession.mHandler:Landroid/os/Handler;
         6: .line 198
            goto 8
         7: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new android.os.Handler
            dup
            invokespecial android.os.Handler.<init>:()V
            putfield android.net.lowpan.LowpanCommissioningSession.mHandler:Landroid/os/Handler;
         8: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cb */
            putfield android.net.lowpan.LowpanCommissioningSession.mCallback:Landroid/net/lowpan/LowpanCommissioningSession$Callback;
         9: .line 203
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.os.Handler handler
        end local 1 // android.net.lowpan.LowpanCommissioningSession$Callback cb
        end local 0 // android.net.lowpan.LowpanCommissioningSession this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Landroid/net/lowpan/LowpanCommissioningSession;
            0   10     1       cb  Landroid/net/lowpan/LowpanCommissioningSession$Callback;
            0   10     2  handler  Landroid/os/Handler;
    MethodParameters:
         Name  Flags
      cb       
      handler  

  public synchronized void close();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // android.net.lowpan.LowpanCommissioningSession this
         0: .line 207
            aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mIsClosed:Z
            ifne 7
         1: .line 209
            aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mBinder:Landroid/net/lowpan/ILowpanInterface;
            invokeinterface android.net.lowpan.ILowpanInterface.closeCommissioningSession:()V
         2: .line 211
            aload 0 /* this */
            invokevirtual android.net.lowpan.LowpanCommissioningSession.lockedCleanup:()V
         3: .line 213
            goto 7
      StackMap locals:
      StackMap stack: android.os.DeadObjectException
         4: pop
            goto 7
         5: .line 218
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 1 /* x */
        start local 1 // android.os.RemoteException x
         6: .line 219
            aload 1 /* x */
            invokevirtual android.os.RemoteException.rethrowAsRuntimeException:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // android.os.RemoteException x
         7: .line 222
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.net.lowpan.LowpanCommissioningSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Landroid/net/lowpan/LowpanCommissioningSession;
            6    7     1     x  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           1     3       4  Class android.os.DeadObjectException
           1     3       5  Class android.os.RemoteException

  private void lambda$0();
    descriptor: ()V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.net.lowpan.LowpanCommissioningSession this
         0: .line 150
            aload 0 /* this */
            getfield android.net.lowpan.LowpanCommissioningSession.mCallback:Landroid/net/lowpan/LowpanCommissioningSession$Callback;
            invokevirtual android.net.lowpan.LowpanCommissioningSession$Callback.onClosed:()V
            return
        end local 0 // android.net.lowpan.LowpanCommissioningSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/lowpan/LowpanCommissioningSession;
}
SourceFile: "LowpanCommissioningSession.java"
NestMembers:
  android.net.lowpan.LowpanCommissioningSession$Callback  android.net.lowpan.LowpanCommissioningSession$InternalCallback
InnerClasses:
  public abstract Callback = android.net.lowpan.LowpanCommissioningSession$Callback of android.net.lowpan.LowpanCommissioningSession
  private InternalCallback = android.net.lowpan.LowpanCommissioningSession$InternalCallback of android.net.lowpan.LowpanCommissioningSession
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles