public class android.mtp.MtpStorageManager$MtpObject
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.mtp.MtpStorageManager$MtpObject
  super_class: java.lang.Object
{
  private android.mtp.MtpStorageManager$MtpObject mParent;
    descriptor: Landroid/mtp/MtpStorageManager$MtpObject;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String mName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int mId;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private android.mtp.MtpStorageManager$MtpObjectState mState;
    descriptor: Landroid/mtp/MtpStorageManager$MtpObjectState;
    flags: (0x0002) ACC_PRIVATE

  private android.mtp.MtpStorageManager$MtpOperation mOp;
    descriptor: Landroid/mtp/MtpStorageManager$MtpOperation;
    flags: (0x0002) ACC_PRIVATE

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

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

  private java.util.HashMap<java.lang.String, android.mtp.MtpStorageManager$MtpObject> mChildren;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/String;Landroid/mtp/MtpStorageManager$MtpObject;>;

  private android.os.FileObserver mObserver;
    descriptor: Landroid/os/FileObserver;
    flags: (0x0002) ACC_PRIVATE

  void <init>(java.lang.String, int, android.mtp.MtpStorageManager$MtpObject, boolean);
    descriptor: (Ljava/lang/String;ILandroid/mtp/MtpStorageManager$MtpObject;Z)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
        start local 1 // java.lang.String name
        start local 2 // int id
        start local 3 // android.mtp.MtpStorageManager$MtpObject parent
        start local 4 // boolean isDir
         0: .line 147
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 148
            aload 0 /* this */
            iload 2 /* id */
            putfield android.mtp.MtpStorageManager$MtpObject.mId:I
         2: .line 149
            aload 0 /* this */
            aload 1 /* name */
            putfield android.mtp.MtpStorageManager$MtpObject.mName:Ljava/lang/String;
         3: .line 150
            aload 0 /* this */
            aload 3 /* parent */
            putfield android.mtp.MtpStorageManager$MtpObject.mParent:Landroid/mtp/MtpStorageManager$MtpObject;
         4: .line 151
            aload 0 /* this */
            aconst_null
            putfield android.mtp.MtpStorageManager$MtpObject.mObserver:Landroid/os/FileObserver;
         5: .line 152
            aload 0 /* this */
            iconst_0
            putfield android.mtp.MtpStorageManager$MtpObject.mVisited:Z
         6: .line 153
            aload 0 /* this */
            getstatic android.mtp.MtpStorageManager$MtpObjectState.NORMAL:Landroid/mtp/MtpStorageManager$MtpObjectState;
            putfield android.mtp.MtpStorageManager$MtpObject.mState:Landroid/mtp/MtpStorageManager$MtpObjectState;
         7: .line 154
            aload 0 /* this */
            iload 4 /* isDir */
            putfield android.mtp.MtpStorageManager$MtpObject.mIsDir:Z
         8: .line 155
            aload 0 /* this */
            getstatic android.mtp.MtpStorageManager$MtpOperation.NONE:Landroid/mtp/MtpStorageManager$MtpOperation;
            putfield android.mtp.MtpStorageManager$MtpObject.mOp:Landroid/mtp/MtpStorageManager$MtpOperation;
         9: .line 157
            aload 0 /* this */
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mIsDir:Z
            ifeq 10
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            goto 11
      StackMap locals: android.mtp.MtpStorageManager$MtpObject java.lang.String int android.mtp.MtpStorageManager$MtpObject int
      StackMap stack: android.mtp.MtpStorageManager$MtpObject
        10: aconst_null
      StackMap locals: android.mtp.MtpStorageManager$MtpObject java.lang.String int android.mtp.MtpStorageManager$MtpObject int
      StackMap stack: android.mtp.MtpStorageManager$MtpObject java.util.HashMap
        11: putfield android.mtp.MtpStorageManager$MtpObject.mChildren:Ljava/util/HashMap;
        12: .line 158
            return
        end local 4 // boolean isDir
        end local 3 // android.mtp.MtpStorageManager$MtpObject parent
        end local 2 // int id
        end local 1 // java.lang.String name
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Landroid/mtp/MtpStorageManager$MtpObject;
            0   13     1    name  Ljava/lang/String;
            0   13     2      id  I
            0   13     3  parent  Landroid/mtp/MtpStorageManager$MtpObject;
            0   13     4   isDir  Z
    MethodParameters:
        Name  Flags
      name    
      id      
      parent  
      isDir   

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
         0: .line 163
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mName:Ljava/lang/String;
            areturn
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/mtp/MtpStorageManager$MtpObject;

  public int getId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
         0: .line 167
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mId:I
            ireturn
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/mtp/MtpStorageManager$MtpObject;

  public boolean isDir();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
         0: .line 171
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mIsDir:Z
            ireturn
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/mtp/MtpStorageManager$MtpObject;

  public int getFormat();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
         0: .line 175
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mIsDir:Z
            ifeq 1
            sipush 12289
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mName:Ljava/lang/String;
            aconst_null
            invokestatic android.media.MediaFile.getFormatCode:(Ljava/lang/String;Ljava/lang/String;)I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/mtp/MtpStorageManager$MtpObject;

  public int getStorageId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
         0: .line 179
            aload 0 /* this */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getRoot:()Landroid/mtp/MtpStorageManager$MtpObject;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            ireturn
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/mtp/MtpStorageManager$MtpObject;

  public long getModifiedTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
         0: .line 183
            aload 0 /* this */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokevirtual java.io.File.lastModified:()J
            ldc 1000
            ldiv
            lreturn
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/mtp/MtpStorageManager$MtpObject;

  public android.mtp.MtpStorageManager$MtpObject getParent();
    descriptor: ()Landroid/mtp/MtpStorageManager$MtpObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
         0: .line 187
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mParent:Landroid/mtp/MtpStorageManager$MtpObject;
            areturn
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/mtp/MtpStorageManager$MtpObject;

  public android.mtp.MtpStorageManager$MtpObject getRoot();
    descriptor: ()Landroid/mtp/MtpStorageManager$MtpObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
         0: .line 191
            aload 0 /* this */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isRoot:()Z
            ifeq 1
            aload 0 /* this */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mParent:Landroid/mtp/MtpStorageManager$MtpObject;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getRoot:()Landroid/mtp/MtpStorageManager$MtpObject;
      StackMap locals:
      StackMap stack: android.mtp.MtpStorageManager$MtpObject
         2: areturn
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/mtp/MtpStorageManager$MtpObject;

  public long getSize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
         0: .line 195
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mIsDir:Z
            ifeq 1
            lconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokevirtual java.io.File.length:()J
      StackMap locals:
      StackMap stack: long
         2: lreturn
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/mtp/MtpStorageManager$MtpObject;

  public java.nio.file.Path getPath();
    descriptor: ()Ljava/nio/file/Path;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
         0: .line 199
            aload 0 /* this */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isRoot:()Z
            ifeq 1
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mName:Ljava/lang/String;
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mParent:Landroid/mtp/MtpStorageManager$MtpObject;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mName:Ljava/lang/String;
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
      StackMap locals:
      StackMap stack: java.nio.file.Path
         2: areturn
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/mtp/MtpStorageManager$MtpObject;

  public boolean isRoot();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
         0: .line 203
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mParent:Landroid/mtp/MtpStorageManager$MtpObject;
            ifnonnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/mtp/MtpStorageManager$MtpObject;

  private void setName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
        start local 1 // java.lang.String name
         0: .line 209
            aload 0 /* this */
            aload 1 /* name */
            putfield android.mtp.MtpStorageManager$MtpObject.mName:Ljava/lang/String;
         1: .line 210
            return
        end local 1 // java.lang.String name
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/mtp/MtpStorageManager$MtpObject;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private void setId(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
        start local 1 // int id
         0: .line 213
            aload 0 /* this */
            iload 1 /* id */
            putfield android.mtp.MtpStorageManager$MtpObject.mId:I
         1: .line 214
            return
        end local 1 // int id
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/mtp/MtpStorageManager$MtpObject;
            0    2     1    id  I
    MethodParameters:
      Name  Flags
      id    

  private boolean isVisited();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
         0: .line 217
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mVisited:Z
            ireturn
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/mtp/MtpStorageManager$MtpObject;

  private void setParent(android.mtp.MtpStorageManager$MtpObject);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
        start local 1 // android.mtp.MtpStorageManager$MtpObject parent
         0: .line 221
            aload 0 /* this */
            aload 1 /* parent */
            putfield android.mtp.MtpStorageManager$MtpObject.mParent:Landroid/mtp/MtpStorageManager$MtpObject;
         1: .line 222
            return
        end local 1 // android.mtp.MtpStorageManager$MtpObject parent
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/mtp/MtpStorageManager$MtpObject;
            0    2     1  parent  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
        Name  Flags
      parent  

  private void setDir(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
        start local 1 // boolean dir
         0: .line 225
            iload 1 /* dir */
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mIsDir:Z
            if_icmpeq 5
         1: .line 226
            aload 0 /* this */
            iload 1 /* dir */
            putfield android.mtp.MtpStorageManager$MtpObject.mIsDir:Z
         2: .line 227
            aload 0 /* this */
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mIsDir:Z
            ifeq 3
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            goto 4
      StackMap locals:
      StackMap stack: android.mtp.MtpStorageManager$MtpObject
         3: aconst_null
      StackMap locals: android.mtp.MtpStorageManager$MtpObject int
      StackMap stack: android.mtp.MtpStorageManager$MtpObject java.util.HashMap
         4: putfield android.mtp.MtpStorageManager$MtpObject.mChildren:Ljava/util/HashMap;
         5: .line 229
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean dir
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/mtp/MtpStorageManager$MtpObject;
            0    6     1   dir  Z
    MethodParameters:
      Name  Flags
      dir   

  private void setVisited(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
        start local 1 // boolean visited
         0: .line 232
            aload 0 /* this */
            iload 1 /* visited */
            putfield android.mtp.MtpStorageManager$MtpObject.mVisited:Z
         1: .line 233
            return
        end local 1 // boolean visited
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/mtp/MtpStorageManager$MtpObject;
            0    2     1  visited  Z
    MethodParameters:
         Name  Flags
      visited  

  private android.mtp.MtpStorageManager$MtpObjectState getState();
    descriptor: ()Landroid/mtp/MtpStorageManager$MtpObjectState;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
         0: .line 236
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mState:Landroid/mtp/MtpStorageManager$MtpObjectState;
            areturn
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/mtp/MtpStorageManager$MtpObject;

  private void setState(android.mtp.MtpStorageManager$MtpObjectState);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObjectState;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
        start local 1 // android.mtp.MtpStorageManager$MtpObjectState state
         0: .line 240
            aload 0 /* this */
            aload 1 /* state */
            putfield android.mtp.MtpStorageManager$MtpObject.mState:Landroid/mtp/MtpStorageManager$MtpObjectState;
         1: .line 241
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mState:Landroid/mtp/MtpStorageManager$MtpObjectState;
            getstatic android.mtp.MtpStorageManager$MtpObjectState.NORMAL:Landroid/mtp/MtpStorageManager$MtpObjectState;
            if_acmpne 3
         2: .line 242
            aload 0 /* this */
            getstatic android.mtp.MtpStorageManager$MtpOperation.NONE:Landroid/mtp/MtpStorageManager$MtpOperation;
            putfield android.mtp.MtpStorageManager$MtpObject.mOp:Landroid/mtp/MtpStorageManager$MtpOperation;
         3: .line 243
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.mtp.MtpStorageManager$MtpObjectState state
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/mtp/MtpStorageManager$MtpObject;
            0    4     1  state  Landroid/mtp/MtpStorageManager$MtpObjectState;
    MethodParameters:
       Name  Flags
      state  

  private android.mtp.MtpStorageManager$MtpOperation getOperation();
    descriptor: ()Landroid/mtp/MtpStorageManager$MtpOperation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
         0: .line 246
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mOp:Landroid/mtp/MtpStorageManager$MtpOperation;
            areturn
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/mtp/MtpStorageManager$MtpObject;

  private void setOperation(android.mtp.MtpStorageManager$MtpOperation);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpOperation;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
        start local 1 // android.mtp.MtpStorageManager$MtpOperation op
         0: .line 250
            aload 0 /* this */
            aload 1 /* op */
            putfield android.mtp.MtpStorageManager$MtpObject.mOp:Landroid/mtp/MtpStorageManager$MtpOperation;
         1: .line 251
            return
        end local 1 // android.mtp.MtpStorageManager$MtpOperation op
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/mtp/MtpStorageManager$MtpObject;
            0    2     1    op  Landroid/mtp/MtpStorageManager$MtpOperation;
    MethodParameters:
      Name  Flags
      op    

  private android.os.FileObserver getObserver();
    descriptor: ()Landroid/os/FileObserver;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
         0: .line 254
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mObserver:Landroid/os/FileObserver;
            areturn
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/mtp/MtpStorageManager$MtpObject;

  private void setObserver(android.os.FileObserver);
    descriptor: (Landroid/os/FileObserver;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
        start local 1 // android.os.FileObserver observer
         0: .line 258
            aload 0 /* this */
            aload 1 /* observer */
            putfield android.mtp.MtpStorageManager$MtpObject.mObserver:Landroid/os/FileObserver;
         1: .line 259
            return
        end local 1 // android.os.FileObserver observer
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/mtp/MtpStorageManager$MtpObject;
            0    2     1  observer  Landroid/os/FileObserver;
    MethodParameters:
          Name  Flags
      observer  

  private void addChild(android.mtp.MtpStorageManager$MtpObject);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
        start local 1 // android.mtp.MtpStorageManager$MtpObject child
         0: .line 262
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mChildren:Ljava/util/HashMap;
            aload 1 /* child */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            aload 1 /* child */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 263
            return
        end local 1 // android.mtp.MtpStorageManager$MtpObject child
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/mtp/MtpStorageManager$MtpObject;
            0    2     1  child  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
       Name  Flags
      child  

  private android.mtp.MtpStorageManager$MtpObject getChild(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/mtp/MtpStorageManager$MtpObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
        start local 1 // java.lang.String name
         0: .line 266
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mChildren:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.mtp.MtpStorageManager$MtpObject
            areturn
        end local 1 // java.lang.String name
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/mtp/MtpStorageManager$MtpObject;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private java.util.Collection<android.mtp.MtpStorageManager$MtpObject> getChildren();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
         0: .line 270
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mChildren:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            areturn
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/mtp/MtpStorageManager$MtpObject;
    Signature: ()Ljava/util/Collection<Landroid/mtp/MtpStorageManager$MtpObject;>;

  private boolean exists();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
         0: .line 274
            aload 0 /* this */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ireturn
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/mtp/MtpStorageManager$MtpObject;

  private android.mtp.MtpStorageManager$MtpObject copy(boolean);
    descriptor: (Z)Landroid/mtp/MtpStorageManager$MtpObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // android.mtp.MtpStorageManager$MtpObject this
        start local 1 // boolean recursive
         0: .line 278
            new android.mtp.MtpStorageManager$MtpObject
            dup
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mName:Ljava/lang/String;
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mId:I
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mParent:Landroid/mtp/MtpStorageManager$MtpObject;
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mIsDir:Z
            invokespecial android.mtp.MtpStorageManager$MtpObject.<init>:(Ljava/lang/String;ILandroid/mtp/MtpStorageManager$MtpObject;Z)V
            astore 2 /* copy */
        start local 2 // android.mtp.MtpStorageManager$MtpObject copy
         1: .line 279
            aload 2 /* copy */
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mIsDir:Z
            putfield android.mtp.MtpStorageManager$MtpObject.mIsDir:Z
         2: .line 280
            aload 2 /* copy */
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mVisited:Z
            putfield android.mtp.MtpStorageManager$MtpObject.mVisited:Z
         3: .line 281
            aload 2 /* copy */
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mState:Landroid/mtp/MtpStorageManager$MtpObjectState;
            putfield android.mtp.MtpStorageManager$MtpObject.mState:Landroid/mtp/MtpStorageManager$MtpObjectState;
         4: .line 282
            aload 2 /* copy */
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mIsDir:Z
            ifeq 5
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            goto 6
      StackMap locals: android.mtp.MtpStorageManager$MtpObject int android.mtp.MtpStorageManager$MtpObject
      StackMap stack: android.mtp.MtpStorageManager$MtpObject
         5: aconst_null
      StackMap locals: android.mtp.MtpStorageManager$MtpObject int android.mtp.MtpStorageManager$MtpObject
      StackMap stack: android.mtp.MtpStorageManager$MtpObject java.util.HashMap
         6: putfield android.mtp.MtpStorageManager$MtpObject.mChildren:Ljava/util/HashMap;
         7: .line 283
            iload 1 /* recursive */
            ifeq 14
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mIsDir:Z
            ifeq 14
         8: .line 284
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager$MtpObject.mChildren:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 13
      StackMap locals: android.mtp.MtpStorageManager$MtpObject int android.mtp.MtpStorageManager$MtpObject top java.util.Iterator
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.mtp.MtpStorageManager$MtpObject
            astore 3 /* child */
        start local 3 // android.mtp.MtpStorageManager$MtpObject child
        10: .line 285
            aload 3 /* child */
            iconst_1
            invokevirtual android.mtp.MtpStorageManager$MtpObject.copy:(Z)Landroid/mtp/MtpStorageManager$MtpObject;
            astore 5 /* childCopy */
        start local 5 // android.mtp.MtpStorageManager$MtpObject childCopy
        11: .line 286
            aload 5 /* childCopy */
            aload 2 /* copy */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setParent:(Landroid/mtp/MtpStorageManager$MtpObject;)V
        12: .line 287
            aload 2 /* copy */
            aload 5 /* childCopy */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.addChild:(Landroid/mtp/MtpStorageManager$MtpObject;)V
        end local 5 // android.mtp.MtpStorageManager$MtpObject childCopy
        end local 3 // android.mtp.MtpStorageManager$MtpObject child
        13: .line 284
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        14: .line 290
      StackMap locals: android.mtp.MtpStorageManager$MtpObject int android.mtp.MtpStorageManager$MtpObject
      StackMap stack:
            aload 2 /* copy */
            areturn
        end local 2 // android.mtp.MtpStorageManager$MtpObject copy
        end local 1 // boolean recursive
        end local 0 // android.mtp.MtpStorageManager$MtpObject this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Landroid/mtp/MtpStorageManager$MtpObject;
            0   15     1  recursive  Z
            1   15     2       copy  Landroid/mtp/MtpStorageManager$MtpObject;
           10   13     3      child  Landroid/mtp/MtpStorageManager$MtpObject;
           11   13     5  childCopy  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
           Name  Flags
      recursive  
}
SourceFile: "MtpStorageManager.java"
NestHost: android.mtp.MtpStorageManager
InnerClasses:
  public MtpObject = android.mtp.MtpStorageManager$MtpObject of android.mtp.MtpStorageManager
  private final MtpObjectState = android.mtp.MtpStorageManager$MtpObjectState of android.mtp.MtpStorageManager
  private final MtpOperation = android.mtp.MtpStorageManager$MtpOperation of android.mtp.MtpStorageManager