final class java.util.concurrent.ConcurrentHashMap$TreeBin<K, V> extends java.util.concurrent.ConcurrentHashMap$Node<K, V>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: java.util.concurrent.ConcurrentHashMap$TreeBin
  super_class: java.util.concurrent.ConcurrentHashMap$Node
{
  java.util.concurrent.ConcurrentHashMap$TreeNode<K, V> root;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
    flags: (0x0000) 
    Signature: Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;

  volatile java.util.concurrent.ConcurrentHashMap$TreeNode<K, V> first;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
    flags: (0x0040) ACC_VOLATILE
    Signature: Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;

  volatile java.lang.Thread waiter;
    descriptor: Ljava/lang/Thread;
    flags: (0x0040) ACC_VOLATILE

  volatile int lockState;
    descriptor: I
    flags: (0x0040) ACC_VOLATILE

  static final int WRITER;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int WAITER;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int READER;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final jdk.internal.misc.Unsafe U;
    descriptor: Ljdk/internal/misc/Unsafe;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long LOCKSTATE;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  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=3, locals=0, args_size=0
         0: .line 2764
            ldc Ljava/util/concurrent/ConcurrentHashMap;
            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 java.util.concurrent.ConcurrentHashMap$TreeBin.$assertionsDisabled:Z
         3: .line 3289
            invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
            putstatic java.util.concurrent.ConcurrentHashMap$TreeBin.U:Ljdk/internal/misc/Unsafe;
         4: .line 3291
            getstatic java.util.concurrent.ConcurrentHashMap$TreeBin.U:Ljdk/internal/misc/Unsafe;
            ldc Ljava/util/concurrent/ConcurrentHashMap$TreeBin;
            ldc "lockState"
            invokevirtual jdk.internal.misc.Unsafe.objectFieldOffset:(Ljava/lang/Class;Ljava/lang/String;)J
         5: .line 3290
            putstatic java.util.concurrent.ConcurrentHashMap$TreeBin.LOCKSTATE:J
         6: .line 3291
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int tieBreakOrder(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Object a
        start local 1 // java.lang.Object b
         0: .line 2783
            aload 0 /* a */
            ifnull 5
            aload 1 /* b */
            ifnull 5
         1: .line 2784
            aload 0 /* a */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         2: .line 2785
            aload 1 /* b */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
         3: .line 2784
            dup
            istore 2 /* d */
        start local 2 // int d
         4: ifne 9
        end local 2 // int d
         5: .line 2786
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            aload 1 /* b */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            if_icmpgt 7
         6: .line 2787
            iconst_m1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_1
         8: .line 2786
      StackMap locals:
      StackMap stack: int
            istore 2 /* d */
        start local 2 // int d
         9: .line 2788
      StackMap locals: int
      StackMap stack:
            iload 2 /* d */
            ireturn
        end local 2 // int d
        end local 1 // java.lang.Object b
        end local 0 // java.lang.Object a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0     a  Ljava/lang/Object;
            0   10     1     b  Ljava/lang/Object;
            4    5     2     d  I
            9   10     2     d  I
    MethodParameters:
      Name  Flags
      a     
      b     

  void <init>(java.util.concurrent.ConcurrentHashMap$TreeNode<K, V>);
    descriptor: (Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=13, args_size=2
        start local 0 // java.util.concurrent.ConcurrentHashMap$TreeBin this
        start local 1 // java.util.concurrent.ConcurrentHashMap$TreeNode b
         0: .line 2795
            aload 0 /* this */
            bipush -2
            aconst_null
            aconst_null
            invokespecial java.util.concurrent.ConcurrentHashMap$Node.<init>:(ILjava/lang/Object;Ljava/lang/Object;)V
         1: .line 2796
            aload 0 /* this */
            aload 1 /* b */
            putfield java.util.concurrent.ConcurrentHashMap$TreeBin.first:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
         2: .line 2797
            aconst_null
            astore 2 /* r */
        start local 2 // java.util.concurrent.ConcurrentHashMap$TreeNode r
         3: .line 2798
            aload 1 /* b */
            astore 3 /* x */
        start local 3 // java.util.concurrent.ConcurrentHashMap$TreeNode x
         4: goto 39
         5: .line 2799
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 3 /* x */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.next:Ljava/util/concurrent/ConcurrentHashMap$Node;
            checkcast java.util.concurrent.ConcurrentHashMap$TreeNode
            astore 4 /* next */
        start local 4 // java.util.concurrent.ConcurrentHashMap$TreeNode next
         6: .line 2800
            aload 3 /* x */
            aload 3 /* x */
            aconst_null
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
         7: .line 2801
            aload 2 /* r */
            ifnonnull 12
         8: .line 2802
            aload 3 /* x */
            aconst_null
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
         9: .line 2803
            aload 3 /* x */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        10: .line 2804
            aload 3 /* x */
            astore 2 /* r */
        11: .line 2805
            goto 38
        12: .line 2807
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 3 /* x */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.key:Ljava/lang/Object;
            astore 5 /* k */
        start local 5 // java.lang.Object k
        13: .line 2808
            aload 3 /* x */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.hash:I
            istore 6 /* h */
        start local 6 // int h
        14: .line 2809
            aconst_null
            astore 7 /* kc */
        start local 7 // java.lang.Class kc
        15: .line 2810
            aload 2 /* r */
            astore 8 /* p */
        start local 8 // java.util.concurrent.ConcurrentHashMap$TreeNode p
        16: .line 2812
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.lang.Object int java.lang.Class java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 8 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.key:Ljava/lang/Object;
            astore 11 /* pk */
        start local 11 // java.lang.Object pk
        17: .line 2813
            aload 8 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.hash:I
            dup
            istore 10 /* ph */
        start local 10 // int ph
        18: iload 6 /* h */
            if_icmple 21
        19: .line 2814
            iconst_m1
            istore 9 /* dir */
        start local 9 // int dir
        20: goto 29
        end local 9 // int dir
        21: .line 2815
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.lang.Object int java.lang.Class java.util.concurrent.ConcurrentHashMap$TreeNode top int java.lang.Object
      StackMap stack:
            iload 10 /* ph */
            iload 6 /* h */
            if_icmpge 24
        22: .line 2816
            iconst_1
            istore 9 /* dir */
        start local 9 // int dir
        23: goto 29
        end local 9 // int dir
        24: .line 2817
      StackMap locals:
      StackMap stack:
            aload 7 /* kc */
            ifnonnull 26
        25: .line 2818
            aload 5 /* k */
            invokestatic java.util.concurrent.ConcurrentHashMap.comparableClassFor:(Ljava/lang/Object;)Ljava/lang/Class;
            dup
            astore 7 /* kc */
            ifnull 28
        26: .line 2819
      StackMap locals:
      StackMap stack:
            aload 7 /* kc */
            aload 5 /* k */
            aload 11 /* pk */
            invokestatic java.util.concurrent.ConcurrentHashMap.compareComparables:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;)I
            dup
            istore 9 /* dir */
        start local 9 // int dir
        27: ifne 29
        end local 9 // int dir
        28: .line 2820
      StackMap locals:
      StackMap stack:
            aload 5 /* k */
            aload 11 /* pk */
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.tieBreakOrder:(Ljava/lang/Object;Ljava/lang/Object;)I
            istore 9 /* dir */
        start local 9 // int dir
        29: .line 2821
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.lang.Object int java.lang.Class java.util.concurrent.ConcurrentHashMap$TreeNode int int java.lang.Object
      StackMap stack:
            aload 8 /* p */
            astore 12 /* xp */
        start local 12 // java.util.concurrent.ConcurrentHashMap$TreeNode xp
        30: .line 2822
            iload 9 /* dir */
            ifgt 31
            aload 8 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            goto 32
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
        31: aload 8 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
      StackMap locals:
      StackMap stack: java.util.concurrent.ConcurrentHashMap$TreeNode
        32: dup
            astore 8 /* p */
            ifnonnull 16
        33: .line 2823
            aload 3 /* x */
            aload 12 /* xp */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        34: .line 2824
            iload 9 /* dir */
            ifgt 36
        35: .line 2825
            aload 12 /* xp */
            aload 3 /* x */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            goto 37
        36: .line 2827
      StackMap locals:
      StackMap stack:
            aload 12 /* xp */
            aload 3 /* x */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        37: .line 2828
      StackMap locals:
      StackMap stack:
            aload 2 /* r */
            aload 3 /* x */
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.balanceInsertion:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 2 /* r */
        end local 12 // java.util.concurrent.ConcurrentHashMap$TreeNode xp
        end local 11 // java.lang.Object pk
        end local 10 // int ph
        end local 9 // int dir
        end local 8 // java.util.concurrent.ConcurrentHashMap$TreeNode p
        end local 7 // java.lang.Class kc
        end local 6 // int h
        end local 5 // java.lang.Object k
        38: .line 2798
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 4 /* next */
            astore 3 /* x */
        end local 4 // java.util.concurrent.ConcurrentHashMap$TreeNode next
      StackMap locals:
      StackMap stack:
        39: aload 3 /* x */
            ifnonnull 5
        end local 3 // java.util.concurrent.ConcurrentHashMap$TreeNode x
        40: .line 2834
            aload 0 /* this */
            aload 2 /* r */
            putfield java.util.concurrent.ConcurrentHashMap$TreeBin.root:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        41: .line 2835
            getstatic java.util.concurrent.ConcurrentHashMap$TreeBin.$assertionsDisabled:Z
            ifne 42
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$TreeBin.root:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.checkInvariants:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Z
            ifne 42
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        42: .line 2836
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.concurrent.ConcurrentHashMap$TreeNode r
        end local 1 // java.util.concurrent.ConcurrentHashMap$TreeNode b
        end local 0 // java.util.concurrent.ConcurrentHashMap$TreeBin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   43     0  this  Ljava/util/concurrent/ConcurrentHashMap$TreeBin<TK;TV;>;
            0   43     1     b  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            3   43     2     r  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            4   40     3     x  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            6   39     4  next  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           13   38     5     k  TK;
           14   38     6     h  I
           15   38     7    kc  Ljava/lang/Class<*>;
           16   38     8     p  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           20   21     9   dir  I
           23   24     9   dir  I
           27   28     9   dir  I
           29   38     9   dir  I
           18   38    10    ph  I
           17   38    11    pk  TK;
           30   38    12    xp  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
    Signature: (Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;)V
    MethodParameters:
      Name  Flags
      b     

  private final void lockRoot();
    descriptor: ()V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // java.util.concurrent.ConcurrentHashMap$TreeBin this
         0: .line 2842
            getstatic java.util.concurrent.ConcurrentHashMap$TreeBin.U:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ConcurrentHashMap$TreeBin.LOCKSTATE:J
            iconst_0
            iconst_1
            invokevirtual jdk.internal.misc.Unsafe.compareAndSetInt:(Ljava/lang/Object;JII)Z
            ifne 2
         1: .line 2843
            aload 0 /* this */
            invokevirtual java.util.concurrent.ConcurrentHashMap$TreeBin.contendedLock:()V
         2: .line 2844
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.concurrent.ConcurrentHashMap$TreeBin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/concurrent/ConcurrentHashMap$TreeBin<TK;TV;>;

  private final void unlockRoot();
    descriptor: ()V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.concurrent.ConcurrentHashMap$TreeBin this
         0: .line 2850
            aload 0 /* this */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeBin.lockState:I
         1: .line 2851
            return
        end local 0 // java.util.concurrent.ConcurrentHashMap$TreeBin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/concurrent/ConcurrentHashMap$TreeBin<TK;TV;>;

  private final void contendedLock();
    descriptor: ()V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // java.util.concurrent.ConcurrentHashMap$TreeBin this
         0: .line 2857
            iconst_0
            istore 1 /* waiting */
        start local 1 // boolean waiting
         1: .line 2859
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$TreeBin.lockState:I
            dup
            istore 2 /* s */
        start local 2 // int s
         2: bipush -3
            iand
            ifne 7
         3: .line 2860
            getstatic java.util.concurrent.ConcurrentHashMap$TreeBin.U:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ConcurrentHashMap$TreeBin.LOCKSTATE:J
            iload 2 /* s */
            iconst_1
            invokevirtual jdk.internal.misc.Unsafe.compareAndSetInt:(Ljava/lang/Object;JII)Z
            ifeq 1
         4: .line 2861
            iload 1 /* waiting */
            ifeq 6
         5: .line 2862
            aload 0 /* this */
            aconst_null
            putfield java.util.concurrent.ConcurrentHashMap$TreeBin.waiter:Ljava/lang/Thread;
         6: .line 2863
      StackMap locals: int
      StackMap stack:
            return
         7: .line 2866
      StackMap locals:
      StackMap stack:
            iload 2 /* s */
            iconst_2
            iand
            ifne 12
         8: .line 2867
            getstatic java.util.concurrent.ConcurrentHashMap$TreeBin.U:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ConcurrentHashMap$TreeBin.LOCKSTATE:J
            iload 2 /* s */
            iload 2 /* s */
            iconst_2
            ior
            invokevirtual jdk.internal.misc.Unsafe.compareAndSetInt:(Ljava/lang/Object;JII)Z
            ifeq 1
         9: .line 2868
            iconst_1
            istore 1 /* waiting */
        10: .line 2869
            aload 0 /* this */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            putfield java.util.concurrent.ConcurrentHashMap$TreeBin.waiter:Ljava/lang/Thread;
        11: .line 2871
            goto 1
        12: .line 2872
      StackMap locals:
      StackMap stack:
            iload 1 /* waiting */
            ifeq 1
        13: .line 2873
            aload 0 /* this */
            invokestatic java.util.concurrent.locks.LockSupport.park:(Ljava/lang/Object;)V
        end local 2 // int s
        14: .line 2858
            goto 1
        end local 1 // boolean waiting
        end local 0 // java.util.concurrent.ConcurrentHashMap$TreeBin this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Ljava/util/concurrent/ConcurrentHashMap$TreeBin<TK;TV;>;
            1   15     1  waiting  Z
            2   14     2        s  I

  final java.util.concurrent.ConcurrentHashMap$Node<K, V> find(int, );
    descriptor: (ILjava/lang/Object;)Ljava/util/concurrent/ConcurrentHashMap$Node;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=7, locals=10, args_size=3
        start local 0 // java.util.concurrent.ConcurrentHashMap$TreeBin this
        start local 1 // int h
        start local 2 // java.lang.Object k
         0: .line 2883
            aload 2 /* k */
            ifnull 36
         1: .line 2884
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$TreeBin.first:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 3 /* e */
        start local 3 // java.util.concurrent.ConcurrentHashMap$Node e
         2: goto 35
         3: .line 2886
      StackMap locals: java.util.concurrent.ConcurrentHashMap$Node
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$TreeBin.lockState:I
            dup
            istore 4 /* s */
        start local 4 // int s
         4: iconst_3
            iand
            ifeq 11
         5: .line 2887
            aload 3 /* e */
            getfield java.util.concurrent.ConcurrentHashMap$Node.hash:I
            iload 1 /* h */
            if_icmpne 9
         6: .line 2888
            aload 3 /* e */
            getfield java.util.concurrent.ConcurrentHashMap$Node.key:Ljava/lang/Object;
            dup
            astore 5 /* ek */
        start local 5 // java.lang.Object ek
         7: aload 2 /* k */
            if_acmpeq 8
            aload 5 /* ek */
            ifnull 9
            aload 2 /* k */
            aload 5 /* ek */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 2889
      StackMap locals: int java.lang.Object
      StackMap stack:
            aload 3 /* e */
            areturn
        end local 5 // java.lang.Object ek
         9: .line 2890
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            getfield java.util.concurrent.ConcurrentHashMap$Node.next:Ljava/util/concurrent/ConcurrentHashMap$Node;
            astore 3 /* e */
        10: .line 2891
            goto 35
        11: .line 2892
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.ConcurrentHashMap$TreeBin.U:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ConcurrentHashMap$TreeBin.LOCKSTATE:J
            iload 4 /* s */
        12: .line 2893
            iload 4 /* s */
            iconst_4
            iadd
        13: .line 2892
            invokevirtual jdk.internal.misc.Unsafe.compareAndSetInt:(Ljava/lang/Object;JII)Z
        14: .line 2893
            ifeq 35
        15: .line 2896
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$TreeBin.root:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 6 /* r */
        start local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode r
        16: ifnonnull 17
            aconst_null
            goto 18
        17: .line 2897
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin int java.lang.Object java.util.concurrent.ConcurrentHashMap$Node int top java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 6 /* r */
            iload 1 /* h */
            aload 2 /* k */
            aconst_null
            invokevirtual java.util.concurrent.ConcurrentHashMap$TreeNode.findTreeNode:(ILjava/lang/Object;Ljava/lang/Class;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        18: .line 2896
      StackMap locals:
      StackMap stack: java.util.concurrent.ConcurrentHashMap$TreeNode
            astore 7 /* p */
        start local 7 // java.util.concurrent.ConcurrentHashMap$TreeNode p
        19: .line 2898
            goto 28
        end local 7 // java.util.concurrent.ConcurrentHashMap$TreeNode p
        end local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode r
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin int java.lang.Object java.util.concurrent.ConcurrentHashMap$Node int
      StackMap stack: java.lang.Throwable
        20: astore 8
        21: .line 2900
            getstatic java.util.concurrent.ConcurrentHashMap$TreeBin.U:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ConcurrentHashMap$TreeBin.LOCKSTATE:J
            bipush -4
            invokevirtual jdk.internal.misc.Unsafe.getAndAddInt:(Ljava/lang/Object;JI)I
        22: .line 2901
            bipush 6
        23: .line 2900
            if_icmpne 27
        24: .line 2901
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$TreeBin.waiter:Ljava/lang/Thread;
            dup
            astore 9 /* w */
        start local 9 // java.lang.Thread w
        25: ifnull 27
        26: .line 2902
            aload 9 /* w */
            invokestatic java.util.concurrent.locks.LockSupport.unpark:(Ljava/lang/Thread;)V
        end local 9 // java.lang.Thread w
        27: .line 2903
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin int java.lang.Object java.util.concurrent.ConcurrentHashMap$Node int top top top java.lang.Throwable
      StackMap stack:
            aload 8
            athrow
        start local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode r
        start local 7 // java.util.concurrent.ConcurrentHashMap$TreeNode p
        28: .line 2900
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin int java.lang.Object java.util.concurrent.ConcurrentHashMap$Node int top java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            getstatic java.util.concurrent.ConcurrentHashMap$TreeBin.U:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getstatic java.util.concurrent.ConcurrentHashMap$TreeBin.LOCKSTATE:J
            bipush -4
            invokevirtual jdk.internal.misc.Unsafe.getAndAddInt:(Ljava/lang/Object;JI)I
        29: .line 2901
            bipush 6
        30: .line 2900
            if_icmpne 34
        31: .line 2901
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$TreeBin.waiter:Ljava/lang/Thread;
            dup
            astore 9 /* w */
        start local 9 // java.lang.Thread w
        32: ifnull 34
        33: .line 2902
            aload 9 /* w */
            invokestatic java.util.concurrent.locks.LockSupport.unpark:(Ljava/lang/Thread;)V
        end local 9 // java.lang.Thread w
        34: .line 2904
      StackMap locals:
      StackMap stack:
            aload 7 /* p */
            areturn
        end local 7 // java.util.concurrent.ConcurrentHashMap$TreeNode p
        end local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode r
        end local 4 // int s
        35: .line 2884
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin int java.lang.Object java.util.concurrent.ConcurrentHashMap$Node
      StackMap stack:
            aload 3 /* e */
            ifnonnull 3
        end local 3 // java.util.concurrent.ConcurrentHashMap$Node e
        36: .line 2908
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Object k
        end local 1 // int h
        end local 0 // java.util.concurrent.ConcurrentHashMap$TreeBin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   37     0  this  Ljava/util/concurrent/ConcurrentHashMap$TreeBin<TK;TV;>;
            0   37     1     h  I
            0   37     2     k  Ljava/lang/Object;
            2   36     3     e  Ljava/util/concurrent/ConcurrentHashMap$Node<TK;TV;>;
            4   35     4     s  I
            7    9     5    ek  TK;
           16   20     6     r  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           28   35     6     r  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           19   20     7     p  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           28   35     7     p  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           25   27     9     w  Ljava/lang/Thread;
           32   34     9     w  Ljava/lang/Thread;
      Exception table:
        from    to  target  type
          15    20      20  any
    Signature: (ILjava/lang/Object;)Ljava/util/concurrent/ConcurrentHashMap$Node<TK;TV;>;
    MethodParameters:
      Name  Flags
      h     
      k     

  final java.util.concurrent.ConcurrentHashMap$TreeNode<K, V> putTreeVal(int, K, V);
    descriptor: (ILjava/lang/Object;Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=9, locals=14, args_size=4
        start local 0 // java.util.concurrent.ConcurrentHashMap$TreeBin this
        start local 1 // int h
        start local 2 // java.lang.Object k
        start local 3 // java.lang.Object v
         0: .line 2916
            aconst_null
            astore 4 /* kc */
        start local 4 // java.lang.Class kc
         1: .line 2917
            iconst_0
            istore 5 /* searched */
        start local 5 // boolean searched
         2: .line 2918
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$TreeBin.root:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 6 /* p */
        start local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode p
         3: .line 2920
      StackMap locals: java.lang.Class int java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 6 /* p */
            ifnonnull 6
         4: .line 2921
            aload 0 /* this */
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap$TreeNode
            dup
            iload 1 /* h */
            aload 2 /* k */
            aload 3 /* v */
            aconst_null
            aconst_null
            invokespecial java.util.concurrent.ConcurrentHashMap$TreeNode.<init>:(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)V
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$TreeBin.root:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            putfield java.util.concurrent.ConcurrentHashMap$TreeBin.first:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
         5: .line 2922
            goto 52
         6: .line 2924
      StackMap locals:
      StackMap stack:
            aload 6 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.hash:I
            dup
            istore 8 /* ph */
        start local 8 // int ph
         7: iload 1 /* h */
            if_icmple 10
         8: .line 2925
            iconst_m1
            istore 7 /* dir */
        start local 7 // int dir
         9: goto 31
        end local 7 // int dir
        10: .line 2926
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin int java.lang.Object java.lang.Object java.lang.Class int java.util.concurrent.ConcurrentHashMap$TreeNode top int
      StackMap stack:
            iload 8 /* ph */
            iload 1 /* h */
            if_icmpge 13
        11: .line 2927
            iconst_1
            istore 7 /* dir */
        start local 7 // int dir
        12: goto 31
        end local 7 // int dir
        13: .line 2928
      StackMap locals:
      StackMap stack:
            aload 6 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.key:Ljava/lang/Object;
            dup
            astore 9 /* pk */
        start local 9 // java.lang.Object pk
        14: aload 2 /* k */
            if_acmpeq 15
            aload 9 /* pk */
            ifnull 16
            aload 2 /* k */
            aload 9 /* pk */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 2929
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 6 /* p */
            areturn
        16: .line 2930
      StackMap locals:
      StackMap stack:
            aload 4 /* kc */
            ifnonnull 18
        17: .line 2931
            aload 2 /* k */
            invokestatic java.util.concurrent.ConcurrentHashMap.comparableClassFor:(Ljava/lang/Object;)Ljava/lang/Class;
            dup
            astore 4 /* kc */
            ifnull 20
        18: .line 2932
      StackMap locals:
      StackMap stack:
            aload 4 /* kc */
            aload 2 /* k */
            aload 9 /* pk */
            invokestatic java.util.concurrent.ConcurrentHashMap.compareComparables:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;)I
            dup
            istore 7 /* dir */
        start local 7 // int dir
        19: ifne 31
        end local 7 // int dir
        20: .line 2933
      StackMap locals:
      StackMap stack:
            iload 5 /* searched */
            ifne 30
        21: .line 2935
            iconst_1
            istore 5 /* searched */
        22: .line 2936
            aload 6 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 11 /* ch */
        start local 11 // java.util.concurrent.ConcurrentHashMap$TreeNode ch
        23: ifnull 26
        24: .line 2937
            aload 11 /* ch */
            iload 1 /* h */
            aload 2 /* k */
            aload 4 /* kc */
            invokevirtual java.util.concurrent.ConcurrentHashMap$TreeNode.findTreeNode:(ILjava/lang/Object;Ljava/lang/Class;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 10 /* q */
        start local 10 // java.util.concurrent.ConcurrentHashMap$TreeNode q
        25: ifnonnull 29
        end local 10 // java.util.concurrent.ConcurrentHashMap$TreeNode q
        26: .line 2938
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin int java.lang.Object java.lang.Object java.lang.Class int java.util.concurrent.ConcurrentHashMap$TreeNode top int java.lang.Object top java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 6 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 11 /* ch */
            ifnull 30
        27: .line 2939
            aload 11 /* ch */
            iload 1 /* h */
            aload 2 /* k */
            aload 4 /* kc */
            invokevirtual java.util.concurrent.ConcurrentHashMap$TreeNode.findTreeNode:(ILjava/lang/Object;Ljava/lang/Class;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 10 /* q */
        start local 10 // java.util.concurrent.ConcurrentHashMap$TreeNode q
        28: ifnull 30
        29: .line 2940
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin int java.lang.Object java.lang.Object java.lang.Class int java.util.concurrent.ConcurrentHashMap$TreeNode top int java.lang.Object java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 10 /* q */
            areturn
        end local 11 // java.util.concurrent.ConcurrentHashMap$TreeNode ch
        end local 10 // java.util.concurrent.ConcurrentHashMap$TreeNode q
        30: .line 2942
      StackMap locals:
      StackMap stack:
            aload 2 /* k */
            aload 9 /* pk */
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.tieBreakOrder:(Ljava/lang/Object;Ljava/lang/Object;)I
            istore 7 /* dir */
        end local 9 // java.lang.Object pk
        start local 7 // int dir
        31: .line 2945
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin int java.lang.Object java.lang.Object java.lang.Class int java.util.concurrent.ConcurrentHashMap$TreeNode int int
      StackMap stack:
            aload 6 /* p */
            astore 10 /* xp */
        start local 10 // java.util.concurrent.ConcurrentHashMap$TreeNode xp
        32: .line 2946
            iload 7 /* dir */
            ifgt 33
            aload 6 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            goto 34
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin int java.lang.Object java.lang.Object java.lang.Class int java.util.concurrent.ConcurrentHashMap$TreeNode int int top java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
        33: aload 6 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
      StackMap locals:
      StackMap stack: java.util.concurrent.ConcurrentHashMap$TreeNode
        34: dup
            astore 6 /* p */
            ifnonnull 3
        35: .line 2947
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$TreeBin.first:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 12 /* f */
        start local 12 // java.util.concurrent.ConcurrentHashMap$TreeNode f
        36: .line 2948
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap$TreeNode
            dup
            iload 1 /* h */
            aload 2 /* k */
            aload 3 /* v */
            aload 12 /* f */
            aload 10 /* xp */
            invokespecial java.util.concurrent.ConcurrentHashMap$TreeNode.<init>:(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)V
            dup
            astore 11 /* x */
        start local 11 // java.util.concurrent.ConcurrentHashMap$TreeNode x
        37: putfield java.util.concurrent.ConcurrentHashMap$TreeBin.first:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        38: .line 2949
            aload 12 /* f */
            ifnull 40
        39: .line 2950
            aload 12 /* f */
            aload 11 /* x */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.prev:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        40: .line 2951
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            iload 7 /* dir */
            ifgt 42
        41: .line 2952
            aload 10 /* xp */
            aload 11 /* x */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            goto 43
        42: .line 2954
      StackMap locals:
      StackMap stack:
            aload 10 /* xp */
            aload 11 /* x */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        43: .line 2955
      StackMap locals:
      StackMap stack:
            aload 10 /* xp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            ifne 45
        44: .line 2956
            aload 11 /* x */
            iconst_1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            goto 52
        45: .line 2958
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ConcurrentHashMap$TreeBin.lockRoot:()V
        46: .line 2960
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$TreeBin.root:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            aload 11 /* x */
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.balanceInsertion:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            putfield java.util.concurrent.ConcurrentHashMap$TreeBin.root:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        47: .line 2961
            goto 51
      StackMap locals:
      StackMap stack: java.lang.Throwable
        48: astore 13
        49: .line 2962
            aload 0 /* this */
            invokevirtual java.util.concurrent.ConcurrentHashMap$TreeBin.unlockRoot:()V
        50: .line 2963
            aload 13
            athrow
        51: .line 2962
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ConcurrentHashMap$TreeBin.unlockRoot:()V
        end local 12 // java.util.concurrent.ConcurrentHashMap$TreeNode f
        end local 11 // java.util.concurrent.ConcurrentHashMap$TreeNode x
        end local 10 // java.util.concurrent.ConcurrentHashMap$TreeNode xp
        end local 8 // int ph
        end local 7 // int dir
        end local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode p
        52: .line 2965
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin int java.lang.Object java.lang.Object java.lang.Class int
      StackMap stack:
            getstatic java.util.concurrent.ConcurrentHashMap$TreeBin.$assertionsDisabled:Z
            ifne 54
        53: .line 2968
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$TreeBin.root:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.checkInvariants:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Z
            ifne 54
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        54: .line 2969
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // boolean searched
        end local 4 // java.lang.Class kc
        end local 3 // java.lang.Object v
        end local 2 // java.lang.Object k
        end local 1 // int h
        end local 0 // java.util.concurrent.ConcurrentHashMap$TreeBin this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   55     0      this  Ljava/util/concurrent/ConcurrentHashMap$TreeBin<TK;TV;>;
            0   55     1         h  I
            0   55     2         k  TK;
            0   55     3         v  TV;
            1   55     4        kc  Ljava/lang/Class<*>;
            2   55     5  searched  Z
            3   52     6         p  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            9   10     7       dir  I
           12   13     7       dir  I
           19   20     7       dir  I
           31   52     7       dir  I
            7   52     8        ph  I
           14   31     9        pk  TK;
           25   26    10         q  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           28   30    10         q  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           23   30    11        ch  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           32   52    10        xp  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           37   52    11         x  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           36   52    12         f  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
      Exception table:
        from    to  target  type
          46    48      48  any
    Signature: (ITK;TV;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
    MethodParameters:
      Name  Flags
      h     
      k     
      v     

  final boolean removeTreeNode(java.util.concurrent.ConcurrentHashMap$TreeNode<K, V>);
    descriptor: (Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=16, args_size=2
        start local 0 // java.util.concurrent.ConcurrentHashMap$TreeBin this
        start local 1 // java.util.concurrent.ConcurrentHashMap$TreeNode p
         0: .line 2983
            aload 1 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.next:Ljava/util/concurrent/ConcurrentHashMap$Node;
            checkcast java.util.concurrent.ConcurrentHashMap$TreeNode
            astore 2 /* next */
        start local 2 // java.util.concurrent.ConcurrentHashMap$TreeNode next
         1: .line 2984
            aload 1 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.prev:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 3 /* pred */
        start local 3 // java.util.concurrent.ConcurrentHashMap$TreeNode pred
         2: .line 2986
            aload 3 /* pred */
            ifnonnull 4
         3: .line 2987
            aload 0 /* this */
            aload 2 /* next */
            putfield java.util.concurrent.ConcurrentHashMap$TreeBin.first:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            goto 5
         4: .line 2989
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 3 /* pred */
            aload 2 /* next */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.next:Ljava/util/concurrent/ConcurrentHashMap$Node;
         5: .line 2990
      StackMap locals:
      StackMap stack:
            aload 2 /* next */
            ifnull 7
         6: .line 2991
            aload 2 /* next */
            aload 3 /* pred */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.prev:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
         7: .line 2992
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$TreeBin.first:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            ifnonnull 10
         8: .line 2993
            aload 0 /* this */
            aconst_null
            putfield java.util.concurrent.ConcurrentHashMap$TreeBin.root:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
         9: .line 2994
            iconst_1
            ireturn
        10: .line 2996
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$TreeBin.root:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 4 /* r */
        start local 4 // java.util.concurrent.ConcurrentHashMap$TreeNode r
        11: ifnull 14
            aload 4 /* r */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            ifnull 14
        12: .line 2997
            aload 4 /* r */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 5 /* rl */
        start local 5 // java.util.concurrent.ConcurrentHashMap$TreeNode rl
        13: ifnull 14
            aload 5 /* rl */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            ifnonnull 15
        end local 5 // java.util.concurrent.ConcurrentHashMap$TreeNode rl
        14: .line 2998
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            iconst_1
            ireturn
        start local 5 // java.util.concurrent.ConcurrentHashMap$TreeNode rl
        15: .line 2999
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ConcurrentHashMap$TreeBin.lockRoot:()V
        16: .line 3002
            aload 1 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 7 /* pl */
        start local 7 // java.util.concurrent.ConcurrentHashMap$TreeNode pl
        17: .line 3003
            aload 1 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 8 /* pr */
        start local 8 // java.util.concurrent.ConcurrentHashMap$TreeNode pr
        18: .line 3004
            aload 7 /* pl */
            ifnull 54
            aload 8 /* pr */
            ifnull 54
        19: .line 3005
            aload 8 /* pr */
            astore 9 /* s */
        start local 9 // java.util.concurrent.ConcurrentHashMap$TreeNode s
        20: .line 3006
            goto 22
        start local 10 // java.util.concurrent.ConcurrentHashMap$TreeNode sl
        21: .line 3007
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode top java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 10 /* sl */
            astore 9 /* s */
        end local 10 // java.util.concurrent.ConcurrentHashMap$TreeNode sl
        22: .line 3006
      StackMap locals:
      StackMap stack:
            aload 9 /* s */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 10 /* sl */
        start local 10 // java.util.concurrent.ConcurrentHashMap$TreeNode sl
        23: ifnonnull 21
        24: .line 3008
            aload 9 /* s */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            istore 11 /* c */
        start local 11 // boolean c
        25: aload 9 /* s */
            aload 1 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            aload 1 /* p */
            iload 11 /* c */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        26: .line 3009
            aload 9 /* s */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 12 /* sr */
        start local 12 // java.util.concurrent.ConcurrentHashMap$TreeNode sr
        27: .line 3010
            aload 1 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 13 /* pp */
        start local 13 // java.util.concurrent.ConcurrentHashMap$TreeNode pp
        28: .line 3011
            aload 9 /* s */
            aload 8 /* pr */
            if_acmpne 32
        29: .line 3012
            aload 1 /* p */
            aload 9 /* s */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        30: .line 3013
            aload 9 /* s */
            aload 1 /* p */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        31: .line 3014
            goto 39
        32: .line 3016
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode top java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode int java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 9 /* s */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 14 /* sp */
        start local 14 // java.util.concurrent.ConcurrentHashMap$TreeNode sp
        33: .line 3017
            aload 1 /* p */
            aload 14 /* sp */
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            ifnull 37
        34: .line 3018
            aload 9 /* s */
            aload 14 /* sp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            if_acmpne 36
        35: .line 3019
            aload 14 /* sp */
            aload 1 /* p */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            goto 37
        36: .line 3021
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 14 /* sp */
            aload 1 /* p */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        37: .line 3023
      StackMap locals:
      StackMap stack:
            aload 9 /* s */
            aload 8 /* pr */
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            ifnull 39
        38: .line 3024
            aload 8 /* pr */
            aload 9 /* s */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        end local 14 // java.util.concurrent.ConcurrentHashMap$TreeNode sp
        39: .line 3026
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            aconst_null
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        40: .line 3027
            aload 1 /* p */
            aload 12 /* sr */
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            ifnull 42
        41: .line 3028
            aload 12 /* sr */
            aload 1 /* p */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        42: .line 3029
      StackMap locals:
      StackMap stack:
            aload 9 /* s */
            aload 7 /* pl */
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            ifnull 44
        43: .line 3030
            aload 7 /* pl */
            aload 9 /* s */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        44: .line 3031
      StackMap locals:
      StackMap stack:
            aload 9 /* s */
            aload 13 /* pp */
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            ifnonnull 46
        45: .line 3032
            aload 9 /* s */
            astore 4 /* r */
            goto 49
        46: .line 3033
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            aload 13 /* pp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            if_acmpne 48
        47: .line 3034
            aload 13 /* pp */
            aload 9 /* s */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            goto 49
        48: .line 3036
      StackMap locals:
      StackMap stack:
            aload 13 /* pp */
            aload 9 /* s */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        49: .line 3037
      StackMap locals:
      StackMap stack:
            aload 12 /* sr */
            ifnull 52
        50: .line 3038
            aload 12 /* sr */
            astore 6 /* replacement */
        start local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode replacement
        51: goto 61
        end local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode replacement
        52: .line 3040
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            astore 6 /* replacement */
        end local 13 // java.util.concurrent.ConcurrentHashMap$TreeNode pp
        end local 12 // java.util.concurrent.ConcurrentHashMap$TreeNode sr
        end local 11 // boolean c
        end local 10 // java.util.concurrent.ConcurrentHashMap$TreeNode sl
        end local 9 // java.util.concurrent.ConcurrentHashMap$TreeNode s
        start local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode replacement
        53: .line 3041
            goto 61
        end local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode replacement
        54: .line 3042
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode top java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 7 /* pl */
            ifnull 57
        55: .line 3043
            aload 7 /* pl */
            astore 6 /* replacement */
        start local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode replacement
        56: goto 61
        end local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode replacement
        57: .line 3044
      StackMap locals:
      StackMap stack:
            aload 8 /* pr */
            ifnull 60
        58: .line 3045
            aload 8 /* pr */
            astore 6 /* replacement */
        start local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode replacement
        59: goto 61
        end local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode replacement
        60: .line 3047
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            astore 6 /* replacement */
        start local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode replacement
        61: .line 3048
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 6 /* replacement */
            aload 1 /* p */
            if_acmpeq 69
        62: .line 3049
            aload 6 /* replacement */
            aload 1 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 9 /* pp */
        start local 9 // java.util.concurrent.ConcurrentHashMap$TreeNode pp
        63: .line 3050
            aload 9 /* pp */
            ifnonnull 65
        64: .line 3051
            aload 6 /* replacement */
            astore 4 /* r */
            goto 68
        65: .line 3052
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 1 /* p */
            aload 9 /* pp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            if_acmpne 67
        66: .line 3053
            aload 9 /* pp */
            aload 6 /* replacement */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            goto 68
        67: .line 3055
      StackMap locals:
      StackMap stack:
            aload 9 /* pp */
            aload 6 /* replacement */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        68: .line 3056
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            aload 1 /* p */
            aload 1 /* p */
            aconst_null
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        end local 9 // java.util.concurrent.ConcurrentHashMap$TreeNode pp
        69: .line 3059
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            ifeq 70
            aload 4 /* r */
            goto 71
      StackMap locals:
      StackMap stack: java.util.concurrent.ConcurrentHashMap$TreeBin
        70: aload 4 /* r */
            aload 6 /* replacement */
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.balanceDeletion:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack: java.util.concurrent.ConcurrentHashMap$TreeBin java.util.concurrent.ConcurrentHashMap$TreeNode
        71: putfield java.util.concurrent.ConcurrentHashMap$TreeBin.root:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        72: .line 3061
            aload 1 /* p */
            aload 6 /* replacement */
            if_acmpne 84
        73: .line 3063
            aload 1 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 9 /* pp */
        start local 9 // java.util.concurrent.ConcurrentHashMap$TreeNode pp
        74: ifnull 84
        75: .line 3064
            aload 1 /* p */
            aload 9 /* pp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            if_acmpne 77
        76: .line 3065
            aload 9 /* pp */
            aconst_null
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            goto 79
        77: .line 3066
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 1 /* p */
            aload 9 /* pp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            if_acmpne 79
        78: .line 3067
            aload 9 /* pp */
            aconst_null
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        79: .line 3068
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            aconst_null
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        end local 9 // java.util.concurrent.ConcurrentHashMap$TreeNode pp
        end local 8 // java.util.concurrent.ConcurrentHashMap$TreeNode pr
        end local 7 // java.util.concurrent.ConcurrentHashMap$TreeNode pl
        end local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode replacement
        80: .line 3071
            goto 84
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeBin java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack: java.lang.Throwable
        81: astore 15
        82: .line 3072
            aload 0 /* this */
            invokevirtual java.util.concurrent.ConcurrentHashMap$TreeBin.unlockRoot:()V
        83: .line 3073
            aload 15
            athrow
        84: .line 3072
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.concurrent.ConcurrentHashMap$TreeBin.unlockRoot:()V
        85: .line 3074
            getstatic java.util.concurrent.ConcurrentHashMap$TreeBin.$assertionsDisabled:Z
            ifne 86
            aload 0 /* this */
            getfield java.util.concurrent.ConcurrentHashMap$TreeBin.root:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.checkInvariants:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Z
            ifne 86
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        86: .line 3075
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // java.util.concurrent.ConcurrentHashMap$TreeNode rl
        end local 4 // java.util.concurrent.ConcurrentHashMap$TreeNode r
        end local 3 // java.util.concurrent.ConcurrentHashMap$TreeNode pred
        end local 2 // java.util.concurrent.ConcurrentHashMap$TreeNode next
        end local 1 // java.util.concurrent.ConcurrentHashMap$TreeNode p
        end local 0 // java.util.concurrent.ConcurrentHashMap$TreeBin this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   87     0         this  Ljava/util/concurrent/ConcurrentHashMap$TreeBin<TK;TV;>;
            0   87     1            p  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            1   87     2         next  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            2   87     3         pred  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           11   87     4            r  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           13   14     5           rl  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           15   87     5           rl  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           51   52     6  replacement  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           53   54     6  replacement  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           56   57     6  replacement  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           59   60     6  replacement  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           61   80     6  replacement  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           17   80     7           pl  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           18   80     8           pr  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           20   53     9            s  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           21   22    10           sl  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           23   53    10           sl  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           25   53    11            c  Z
           27   53    12           sr  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           28   53    13           pp  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           33   39    14           sp  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           63   69     9           pp  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           74   80     9           pp  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
      Exception table:
        from    to  target  type
          16    81      81  any
    Signature: (Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;)Z
    MethodParameters:
      Name  Flags
      p     

  static <K, V> java.util.concurrent.ConcurrentHashMap$TreeNode<K, V> rotateLeft(java.util.concurrent.ConcurrentHashMap$TreeNode<K, V>, java.util.concurrent.ConcurrentHashMap$TreeNode<K, V>);
    descriptor: (Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.concurrent.ConcurrentHashMap$TreeNode root
        start local 1 // java.util.concurrent.ConcurrentHashMap$TreeNode p
         0: .line 3084
            aload 1 /* p */
            ifnull 13
            aload 1 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 2 /* r */
        start local 2 // java.util.concurrent.ConcurrentHashMap$TreeNode r
         1: ifnull 13
         2: .line 3085
            aload 1 /* p */
            aload 2 /* r */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 4 /* rl */
        start local 4 // java.util.concurrent.ConcurrentHashMap$TreeNode rl
         3: ifnull 5
         4: .line 3086
            aload 4 /* rl */
            aload 1 /* p */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
         5: .line 3087
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode top java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 2 /* r */
            aload 1 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 3 /* pp */
        start local 3 // java.util.concurrent.ConcurrentHashMap$TreeNode pp
         6: ifnonnull 8
         7: .line 3088
            aload 2 /* r */
            dup
            astore 0 /* root */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            goto 11
         8: .line 3089
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 3 /* pp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            aload 1 /* p */
            if_acmpne 10
         9: .line 3090
            aload 3 /* pp */
            aload 2 /* r */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            goto 11
        10: .line 3092
      StackMap locals:
      StackMap stack:
            aload 3 /* pp */
            aload 2 /* r */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        11: .line 3093
      StackMap locals:
      StackMap stack:
            aload 2 /* r */
            aload 1 /* p */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        12: .line 3094
            aload 1 /* p */
            aload 2 /* r */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        end local 4 // java.util.concurrent.ConcurrentHashMap$TreeNode rl
        end local 3 // java.util.concurrent.ConcurrentHashMap$TreeNode pp
        end local 2 // java.util.concurrent.ConcurrentHashMap$TreeNode r
        13: .line 3096
      StackMap locals:
      StackMap stack:
            aload 0 /* root */
            areturn
        end local 1 // java.util.concurrent.ConcurrentHashMap$TreeNode p
        end local 0 // java.util.concurrent.ConcurrentHashMap$TreeNode root
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  root  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            0   14     1     p  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            1   13     2     r  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            6   13     3    pp  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            3   13     4    rl  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
    MethodParameters:
      Name  Flags
      root  
      p     

  static <K, V> java.util.concurrent.ConcurrentHashMap$TreeNode<K, V> rotateRight(java.util.concurrent.ConcurrentHashMap$TreeNode<K, V>, java.util.concurrent.ConcurrentHashMap$TreeNode<K, V>);
    descriptor: (Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.concurrent.ConcurrentHashMap$TreeNode root
        start local 1 // java.util.concurrent.ConcurrentHashMap$TreeNode p
         0: .line 3102
            aload 1 /* p */
            ifnull 13
            aload 1 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 2 /* l */
        start local 2 // java.util.concurrent.ConcurrentHashMap$TreeNode l
         1: ifnull 13
         2: .line 3103
            aload 1 /* p */
            aload 2 /* l */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 4 /* lr */
        start local 4 // java.util.concurrent.ConcurrentHashMap$TreeNode lr
         3: ifnull 5
         4: .line 3104
            aload 4 /* lr */
            aload 1 /* p */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
         5: .line 3105
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode top java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 2 /* l */
            aload 1 /* p */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup_x1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 3 /* pp */
        start local 3 // java.util.concurrent.ConcurrentHashMap$TreeNode pp
         6: ifnonnull 8
         7: .line 3106
            aload 2 /* l */
            dup
            astore 0 /* root */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            goto 11
         8: .line 3107
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 3 /* pp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            aload 1 /* p */
            if_acmpne 10
         9: .line 3108
            aload 3 /* pp */
            aload 2 /* l */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            goto 11
        10: .line 3110
      StackMap locals:
      StackMap stack:
            aload 3 /* pp */
            aload 2 /* l */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        11: .line 3111
      StackMap locals:
      StackMap stack:
            aload 2 /* l */
            aload 1 /* p */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        12: .line 3112
            aload 1 /* p */
            aload 2 /* l */
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        end local 4 // java.util.concurrent.ConcurrentHashMap$TreeNode lr
        end local 3 // java.util.concurrent.ConcurrentHashMap$TreeNode pp
        end local 2 // java.util.concurrent.ConcurrentHashMap$TreeNode l
        13: .line 3114
      StackMap locals:
      StackMap stack:
            aload 0 /* root */
            areturn
        end local 1 // java.util.concurrent.ConcurrentHashMap$TreeNode p
        end local 0 // java.util.concurrent.ConcurrentHashMap$TreeNode root
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  root  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            0   14     1     p  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            1   13     2     l  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            6   13     3    pp  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            3   13     4    lr  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
    MethodParameters:
      Name  Flags
      root  
      p     

  static <K, V> java.util.concurrent.ConcurrentHashMap$TreeNode<K, V> balanceInsertion(java.util.concurrent.ConcurrentHashMap$TreeNode<K, V>, java.util.concurrent.ConcurrentHashMap$TreeNode<K, V>);
    descriptor: (Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.util.concurrent.ConcurrentHashMap$TreeNode root
        start local 1 // java.util.concurrent.ConcurrentHashMap$TreeNode x
         0: .line 3119
            aload 1 /* x */
            iconst_1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
         1: .line 3121
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 2 /* xp */
        start local 2 // java.util.concurrent.ConcurrentHashMap$TreeNode xp
         2: ifnonnull 5
         3: .line 3122
            aload 1 /* x */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
         4: .line 3123
            aload 1 /* x */
            areturn
         5: .line 3125
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 2 /* xp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            ifeq 7
            aload 2 /* xp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 3 /* xpp */
        start local 3 // java.util.concurrent.ConcurrentHashMap$TreeNode xpp
         6: ifnonnull 8
        end local 3 // java.util.concurrent.ConcurrentHashMap$TreeNode xpp
         7: .line 3126
      StackMap locals:
      StackMap stack:
            aload 0 /* root */
            areturn
        start local 3 // java.util.concurrent.ConcurrentHashMap$TreeNode xpp
         8: .line 3127
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 2 /* xp */
            aload 3 /* xpp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 4 /* xppl */
        start local 4 // java.util.concurrent.ConcurrentHashMap$TreeNode xppl
         9: if_acmpne 28
        10: .line 3128
            aload 3 /* xpp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 5 /* xppr */
        start local 5 // java.util.concurrent.ConcurrentHashMap$TreeNode xppr
        11: ifnull 17
            aload 5 /* xppr */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            ifeq 17
        12: .line 3129
            aload 5 /* xppr */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        13: .line 3130
            aload 2 /* xp */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        14: .line 3131
            aload 3 /* xpp */
            iconst_1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        15: .line 3132
            aload 3 /* xpp */
            astore 1 /* x */
        16: .line 3133
            goto 1
        17: .line 3135
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 1 /* x */
            aload 2 /* xp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            if_acmpne 22
        18: .line 3136
            aload 0 /* root */
            aload 2 /* xp */
            dup
            astore 1 /* x */
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.rotateLeft:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 0 /* root */
        19: .line 3137
            aload 1 /* x */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 2 /* xp */
            ifnonnull 20
            aconst_null
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 2 /* xp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
      StackMap locals:
      StackMap stack: java.util.concurrent.ConcurrentHashMap$TreeNode
        21: astore 3 /* xpp */
        22: .line 3139
      StackMap locals:
      StackMap stack:
            aload 2 /* xp */
            ifnull 1
        23: .line 3140
            aload 2 /* xp */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        24: .line 3141
            aload 3 /* xpp */
            ifnull 1
        25: .line 3142
            aload 3 /* xpp */
            iconst_1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        26: .line 3143
            aload 0 /* root */
            aload 3 /* xpp */
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.rotateRight:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 0 /* root */
        27: .line 3147
            goto 1
        end local 5 // java.util.concurrent.ConcurrentHashMap$TreeNode xppr
        28: .line 3149
      StackMap locals:
      StackMap stack:
            aload 4 /* xppl */
            ifnull 34
            aload 4 /* xppl */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            ifeq 34
        29: .line 3150
            aload 4 /* xppl */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        30: .line 3151
            aload 2 /* xp */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        31: .line 3152
            aload 3 /* xpp */
            iconst_1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        32: .line 3153
            aload 3 /* xpp */
            astore 1 /* x */
        33: .line 3154
            goto 1
        34: .line 3156
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            aload 2 /* xp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            if_acmpne 39
        35: .line 3157
            aload 0 /* root */
            aload 2 /* xp */
            dup
            astore 1 /* x */
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.rotateRight:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 0 /* root */
        36: .line 3158
            aload 1 /* x */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 2 /* xp */
            ifnonnull 37
            aconst_null
            goto 38
      StackMap locals:
      StackMap stack:
        37: aload 2 /* xp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
      StackMap locals:
      StackMap stack: java.util.concurrent.ConcurrentHashMap$TreeNode
        38: astore 3 /* xpp */
        39: .line 3160
      StackMap locals:
      StackMap stack:
            aload 2 /* xp */
            ifnull 1
        40: .line 3161
            aload 2 /* xp */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        41: .line 3162
            aload 3 /* xpp */
            ifnull 1
        42: .line 3163
            aload 3 /* xpp */
            iconst_1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        43: .line 3164
            aload 0 /* root */
            aload 3 /* xpp */
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.rotateLeft:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 0 /* root */
        end local 4 // java.util.concurrent.ConcurrentHashMap$TreeNode xppl
        end local 3 // java.util.concurrent.ConcurrentHashMap$TreeNode xpp
        end local 2 // java.util.concurrent.ConcurrentHashMap$TreeNode xp
        44: .line 3120
            goto 1
        end local 1 // java.util.concurrent.ConcurrentHashMap$TreeNode x
        end local 0 // java.util.concurrent.ConcurrentHashMap$TreeNode root
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   45     0  root  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            0   45     1     x  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            2   44     2    xp  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            6    7     3   xpp  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            8   44     3   xpp  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            9   44     4  xppl  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           11   28     5  xppr  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
    MethodParameters:
      Name  Flags
      root  
      x     

  static <K, V> java.util.concurrent.ConcurrentHashMap$TreeNode<K, V> balanceDeletion(java.util.concurrent.ConcurrentHashMap$TreeNode<K, V>, java.util.concurrent.ConcurrentHashMap$TreeNode<K, V>);
    descriptor: (Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.util.concurrent.ConcurrentHashMap$TreeNode root
        start local 1 // java.util.concurrent.ConcurrentHashMap$TreeNode x
         0: .line 3175
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            ifnull 1
            aload 1 /* x */
            aload 0 /* root */
            if_acmpne 2
         1: .line 3176
      StackMap locals:
      StackMap stack:
            aload 0 /* root */
            areturn
         2: .line 3177
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 2 /* xp */
        start local 2 // java.util.concurrent.ConcurrentHashMap$TreeNode xp
         3: ifnonnull 6
         4: .line 3178
            aload 1 /* x */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
         5: .line 3179
            aload 1 /* x */
            areturn
         6: .line 3181
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 1 /* x */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            ifeq 9
         7: .line 3182
            aload 1 /* x */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
         8: .line 3183
            aload 0 /* root */
            areturn
         9: .line 3185
      StackMap locals:
      StackMap stack:
            aload 2 /* xp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 3 /* xpl */
        start local 3 // java.util.concurrent.ConcurrentHashMap$TreeNode xpl
        10: aload 1 /* x */
            if_acmpne 48
        11: .line 3186
            aload 2 /* xp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 4 /* xpr */
        start local 4 // java.util.concurrent.ConcurrentHashMap$TreeNode xpr
        12: ifnull 19
            aload 4 /* xpr */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            ifeq 19
        13: .line 3187
            aload 4 /* xpr */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        14: .line 3188
            aload 2 /* xp */
            iconst_1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        15: .line 3189
            aload 0 /* root */
            aload 2 /* xp */
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.rotateLeft:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 0 /* root */
        16: .line 3190
            aload 1 /* x */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 2 /* xp */
            ifnonnull 17
            aconst_null
            goto 18
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
        17: aload 2 /* xp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
      StackMap locals:
      StackMap stack: java.util.concurrent.ConcurrentHashMap$TreeNode
        18: astore 4 /* xpr */
        19: .line 3192
      StackMap locals:
      StackMap stack:
            aload 4 /* xpr */
            ifnonnull 21
        20: .line 3193
            aload 2 /* xp */
            astore 1 /* x */
            goto 0
        21: .line 3195
      StackMap locals:
      StackMap stack:
            aload 4 /* xpr */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 5 /* sl */
        start local 5 // java.util.concurrent.ConcurrentHashMap$TreeNode sl
        22: aload 4 /* xpr */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 6 /* sr */
        start local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode sr
        23: .line 3196
            aload 6 /* sr */
            ifnull 24
            aload 6 /* sr */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            ifne 28
        24: .line 3197
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 5 /* sl */
            ifnull 25
            aload 5 /* sl */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            ifne 28
        25: .line 3198
      StackMap locals:
      StackMap stack:
            aload 4 /* xpr */
            iconst_1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        26: .line 3199
            aload 2 /* xp */
            astore 1 /* x */
        27: .line 3200
            goto 0
        28: .line 3202
      StackMap locals:
      StackMap stack:
            aload 6 /* sr */
            ifnull 29
            aload 6 /* sr */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            ifne 37
        29: .line 3203
      StackMap locals:
      StackMap stack:
            aload 5 /* sl */
            ifnull 31
        30: .line 3204
            aload 5 /* sl */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        31: .line 3205
      StackMap locals:
      StackMap stack:
            aload 4 /* xpr */
            iconst_1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        32: .line 3206
            aload 0 /* root */
            aload 4 /* xpr */
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.rotateRight:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 0 /* root */
        33: .line 3207
            aload 1 /* x */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 2 /* xp */
            ifnonnull 35
        34: .line 3208
            aconst_null
            goto 36
      StackMap locals:
      StackMap stack:
        35: aload 2 /* xp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        36: .line 3207
      StackMap locals:
      StackMap stack: java.util.concurrent.ConcurrentHashMap$TreeNode
            astore 4 /* xpr */
        37: .line 3210
      StackMap locals:
      StackMap stack:
            aload 4 /* xpr */
            ifnull 43
        38: .line 3211
            aload 4 /* xpr */
            aload 2 /* xp */
            ifnonnull 39
            iconst_0
            goto 40
      StackMap locals:
      StackMap stack: java.util.concurrent.ConcurrentHashMap$TreeNode
        39: aload 2 /* xp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack: java.util.concurrent.ConcurrentHashMap$TreeNode int
        40: putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        41: .line 3212
            aload 4 /* xpr */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 6 /* sr */
            ifnull 43
        42: .line 3213
            aload 6 /* sr */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        43: .line 3215
      StackMap locals:
      StackMap stack:
            aload 2 /* xp */
            ifnull 46
        44: .line 3216
            aload 2 /* xp */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        45: .line 3217
            aload 0 /* root */
            aload 2 /* xp */
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.rotateLeft:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 0 /* root */
        46: .line 3219
      StackMap locals:
      StackMap stack:
            aload 0 /* root */
            astore 1 /* x */
        end local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode sr
        end local 5 // java.util.concurrent.ConcurrentHashMap$TreeNode sl
        47: .line 3222
            goto 0
        end local 4 // java.util.concurrent.ConcurrentHashMap$TreeNode xpr
        48: .line 3224
      StackMap locals:
      StackMap stack:
            aload 3 /* xpl */
            ifnull 55
            aload 3 /* xpl */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            ifeq 55
        49: .line 3225
            aload 3 /* xpl */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        50: .line 3226
            aload 2 /* xp */
            iconst_1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        51: .line 3227
            aload 0 /* root */
            aload 2 /* xp */
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.rotateRight:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 0 /* root */
        52: .line 3228
            aload 1 /* x */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 2 /* xp */
            ifnonnull 53
            aconst_null
            goto 54
      StackMap locals:
      StackMap stack:
        53: aload 2 /* xp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
      StackMap locals:
      StackMap stack: java.util.concurrent.ConcurrentHashMap$TreeNode
        54: astore 3 /* xpl */
        55: .line 3230
      StackMap locals:
      StackMap stack:
            aload 3 /* xpl */
            ifnonnull 57
        56: .line 3231
            aload 2 /* xp */
            astore 1 /* x */
            goto 0
        57: .line 3233
      StackMap locals:
      StackMap stack:
            aload 3 /* xpl */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 5 /* sl */
        start local 5 // java.util.concurrent.ConcurrentHashMap$TreeNode sl
        58: aload 3 /* xpl */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 6 /* sr */
        start local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode sr
        59: .line 3234
            aload 5 /* sl */
            ifnull 60
            aload 5 /* sl */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            ifne 64
        60: .line 3235
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode top java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 6 /* sr */
            ifnull 61
            aload 6 /* sr */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            ifne 64
        61: .line 3236
      StackMap locals:
      StackMap stack:
            aload 3 /* xpl */
            iconst_1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        62: .line 3237
            aload 2 /* xp */
            astore 1 /* x */
        63: .line 3238
            goto 0
        64: .line 3240
      StackMap locals:
      StackMap stack:
            aload 5 /* sl */
            ifnull 65
            aload 5 /* sl */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            ifne 73
        65: .line 3241
      StackMap locals:
      StackMap stack:
            aload 6 /* sr */
            ifnull 67
        66: .line 3242
            aload 6 /* sr */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        67: .line 3243
      StackMap locals:
      StackMap stack:
            aload 3 /* xpl */
            iconst_1
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        68: .line 3244
            aload 0 /* root */
            aload 3 /* xpl */
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.rotateLeft:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 0 /* root */
        69: .line 3245
            aload 1 /* x */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 2 /* xp */
            ifnonnull 71
        70: .line 3246
            aconst_null
            goto 72
      StackMap locals:
      StackMap stack:
        71: aload 2 /* xp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
        72: .line 3245
      StackMap locals:
      StackMap stack: java.util.concurrent.ConcurrentHashMap$TreeNode
            astore 3 /* xpl */
        73: .line 3248
      StackMap locals:
      StackMap stack:
            aload 3 /* xpl */
            ifnull 79
        74: .line 3249
            aload 3 /* xpl */
            aload 2 /* xp */
            ifnonnull 75
            iconst_0
            goto 76
      StackMap locals:
      StackMap stack: java.util.concurrent.ConcurrentHashMap$TreeNode
        75: aload 2 /* xp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode top java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack: java.util.concurrent.ConcurrentHashMap$TreeNode int
        76: putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        77: .line 3250
            aload 3 /* xpl */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            dup
            astore 5 /* sl */
            ifnull 79
        78: .line 3251
            aload 5 /* sl */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        79: .line 3253
      StackMap locals:
      StackMap stack:
            aload 2 /* xp */
            ifnull 82
        80: .line 3254
            aload 2 /* xp */
            iconst_0
            putfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
        81: .line 3255
            aload 0 /* root */
            aload 2 /* xp */
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.rotateRight:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 0 /* root */
        82: .line 3257
      StackMap locals:
      StackMap stack:
            aload 0 /* root */
            astore 1 /* x */
        end local 6 // java.util.concurrent.ConcurrentHashMap$TreeNode sr
        end local 5 // java.util.concurrent.ConcurrentHashMap$TreeNode sl
        end local 3 // java.util.concurrent.ConcurrentHashMap$TreeNode xpl
        end local 2 // java.util.concurrent.ConcurrentHashMap$TreeNode xp
        83: .line 3174
            goto 0
        end local 1 // java.util.concurrent.ConcurrentHashMap$TreeNode x
        end local 0 // java.util.concurrent.ConcurrentHashMap$TreeNode root
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   84     0  root  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            0   84     1     x  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            3   83     2    xp  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           10   83     3   xpl  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           12   48     4   xpr  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           22   47     5    sl  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           23   47     6    sr  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           58   83     5    sl  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
           59   83     6    sr  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
    MethodParameters:
      Name  Flags
      root  
      x     

  static <K, V> boolean checkInvariants(java.util.concurrent.ConcurrentHashMap$TreeNode<K, V>);
    descriptor: (Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // java.util.concurrent.ConcurrentHashMap$TreeNode t
         0: .line 3268
            aload 0 /* t */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 1 /* tp */
        start local 1 // java.util.concurrent.ConcurrentHashMap$TreeNode tp
         1: aload 0 /* t */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 2 /* tl */
        start local 2 // java.util.concurrent.ConcurrentHashMap$TreeNode tl
         2: aload 0 /* t */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 3 /* tr */
        start local 3 // java.util.concurrent.ConcurrentHashMap$TreeNode tr
         3: .line 3269
            aload 0 /* t */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.prev:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            astore 4 /* tb */
        start local 4 // java.util.concurrent.ConcurrentHashMap$TreeNode tb
         4: aload 0 /* t */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.next:Ljava/util/concurrent/ConcurrentHashMap$Node;
            checkcast java.util.concurrent.ConcurrentHashMap$TreeNode
            astore 5 /* tn */
        start local 5 // java.util.concurrent.ConcurrentHashMap$TreeNode tn
         5: .line 3270
            aload 4 /* tb */
            ifnull 7
            aload 4 /* tb */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.next:Ljava/util/concurrent/ConcurrentHashMap$Node;
            aload 0 /* t */
            if_acmpeq 7
         6: .line 3271
            iconst_0
            ireturn
         7: .line 3272
      StackMap locals: java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode java.util.concurrent.ConcurrentHashMap$TreeNode
      StackMap stack:
            aload 5 /* tn */
            ifnull 9
            aload 5 /* tn */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.prev:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            aload 0 /* t */
            if_acmpeq 9
         8: .line 3273
            iconst_0
            ireturn
         9: .line 3274
      StackMap locals:
      StackMap stack:
            aload 1 /* tp */
            ifnull 11
            aload 0 /* t */
            aload 1 /* tp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.left:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            if_acmpeq 11
            aload 0 /* t */
            aload 1 /* tp */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.right:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            if_acmpeq 11
        10: .line 3275
            iconst_0
            ireturn
        11: .line 3276
      StackMap locals:
      StackMap stack:
            aload 2 /* tl */
            ifnull 13
            aload 2 /* tl */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            aload 0 /* t */
            if_acmpne 12
            aload 2 /* tl */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.hash:I
            aload 0 /* t */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.hash:I
            if_icmple 13
        12: .line 3277
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        13: .line 3278
      StackMap locals:
      StackMap stack:
            aload 3 /* tr */
            ifnull 15
            aload 3 /* tr */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.parent:Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
            aload 0 /* t */
            if_acmpne 14
            aload 3 /* tr */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.hash:I
            aload 0 /* t */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.hash:I
            if_icmpge 15
        14: .line 3279
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        15: .line 3280
      StackMap locals:
      StackMap stack:
            aload 0 /* t */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            ifeq 17
            aload 2 /* tl */
            ifnull 17
            aload 2 /* tl */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            ifeq 17
            aload 3 /* tr */
            ifnull 17
            aload 3 /* tr */
            getfield java.util.concurrent.ConcurrentHashMap$TreeNode.red:Z
            ifeq 17
        16: .line 3281
            iconst_0
            ireturn
        17: .line 3282
      StackMap locals:
      StackMap stack:
            aload 2 /* tl */
            ifnull 19
            aload 2 /* tl */
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.checkInvariants:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Z
            ifne 19
        18: .line 3283
            iconst_0
            ireturn
        19: .line 3284
      StackMap locals:
      StackMap stack:
            aload 3 /* tr */
            ifnull 21
            aload 3 /* tr */
            invokestatic java.util.concurrent.ConcurrentHashMap$TreeBin.checkInvariants:(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Z
            ifne 21
        20: .line 3285
            iconst_0
            ireturn
        21: .line 3286
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // java.util.concurrent.ConcurrentHashMap$TreeNode tn
        end local 4 // java.util.concurrent.ConcurrentHashMap$TreeNode tb
        end local 3 // java.util.concurrent.ConcurrentHashMap$TreeNode tr
        end local 2 // java.util.concurrent.ConcurrentHashMap$TreeNode tl
        end local 1 // java.util.concurrent.ConcurrentHashMap$TreeNode tp
        end local 0 // java.util.concurrent.ConcurrentHashMap$TreeNode t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0     t  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            1   22     1    tp  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            2   22     2    tl  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            3   22     3    tr  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            4   22     4    tb  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
            5   22     5    tn  Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/concurrent/ConcurrentHashMap$TreeNode<TK;TV;>;)Z
    MethodParameters:
      Name  Flags
      t     
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/concurrent/ConcurrentHashMap$Node<TK;TV;>;
SourceFile: "ConcurrentHashMap.java"
NestHost: java.util.concurrent.ConcurrentHashMap
InnerClasses:
  Node = java.util.concurrent.ConcurrentHashMap$Node of java.util.concurrent.ConcurrentHashMap
  final TreeBin = java.util.concurrent.ConcurrentHashMap$TreeBin of java.util.concurrent.ConcurrentHashMap
  final TreeNode = java.util.concurrent.ConcurrentHashMap$TreeNode of java.util.concurrent.ConcurrentHashMap