final class java.util.Comparators$NullComparator<T> implements java.util.Comparator<T>, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: java.util.Comparators$NullComparator
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -7569533591570686392

  private final boolean nullFirst;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Comparator<T> real;
    descriptor: Ljava/util/Comparator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Comparator<TT;>;

  void <init>(boolean, java.util.Comparator<? super T>);
    descriptor: (ZLjava/util/Comparator;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.util.Comparators$NullComparator this
        start local 1 // boolean nullFirst
        start local 2 // java.util.Comparator real
         0: .line 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 72
            aload 0 /* this */
            iload 1 /* nullFirst */
            putfield java.util.Comparators$NullComparator.nullFirst:Z
         2: .line 73
            aload 0 /* this */
            aload 2 /* real */
            putfield java.util.Comparators$NullComparator.real:Ljava/util/Comparator;
         3: .line 74
            return
        end local 2 // java.util.Comparator real
        end local 1 // boolean nullFirst
        end local 0 // java.util.Comparators$NullComparator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Ljava/util/Comparators$NullComparator<TT;>;
            0    4     1  nullFirst  Z
            0    4     2       real  Ljava/util/Comparator<-TT;>;
    Signature: (ZLjava/util/Comparator<-TT;>;)V
    MethodParameters:
           Name  Flags
      nullFirst  
      real       

  public int compare(T, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.Comparators$NullComparator this
        start local 1 // java.lang.Object a
        start local 2 // java.lang.Object b
         0: .line 78
            aload 1 /* a */
            ifnonnull 5
         1: .line 79
            aload 2 /* b */
            ifnonnull 2
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield java.util.Comparators$NullComparator.nullFirst:Z
            ifeq 3
            iconst_m1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: ireturn
         5: .line 80
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            ifnonnull 9
         6: .line 81
            aload 0 /* this */
            getfield java.util.Comparators$NullComparator.nullFirst:Z
            ifeq 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_m1
      StackMap locals:
      StackMap stack: int
         8: ireturn
         9: .line 83
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.Comparators$NullComparator.real:Ljava/util/Comparator;
            ifnonnull 10
            iconst_0
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 0 /* this */
            getfield java.util.Comparators$NullComparator.real:Ljava/util/Comparator;
            aload 1 /* a */
            aload 2 /* b */
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
      StackMap locals:
      StackMap stack: int
        11: ireturn
        end local 2 // java.lang.Object b
        end local 1 // java.lang.Object a
        end local 0 // java.util.Comparators$NullComparator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/util/Comparators$NullComparator<TT;>;
            0   12     1     a  TT;
            0   12     2     b  TT;
    Signature: (TT;TT;)I
    MethodParameters:
      Name  Flags
      a     
      b     

  public java.util.Comparator<T> thenComparing(java.util.Comparator<? super T>);
    descriptor: (Ljava/util/Comparator;)Ljava/util/Comparator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.util.Comparators$NullComparator this
        start local 1 // java.util.Comparator other
         0: .line 89
            aload 1 /* other */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 90
            new java.util.Comparators$NullComparator
            dup
            aload 0 /* this */
            getfield java.util.Comparators$NullComparator.nullFirst:Z
            aload 0 /* this */
            getfield java.util.Comparators$NullComparator.real:Ljava/util/Comparator;
            ifnonnull 2
            aload 1 /* other */
            goto 3
      StackMap locals: java.util.Comparators$NullComparator java.util.Comparator
      StackMap stack: new 1 new 1 int
         2: aload 0 /* this */
            getfield java.util.Comparators$NullComparator.real:Ljava/util/Comparator;
            aload 1 /* other */
            invokeinterface java.util.Comparator.thenComparing:(Ljava/util/Comparator;)Ljava/util/Comparator;
      StackMap locals: java.util.Comparators$NullComparator java.util.Comparator
      StackMap stack: new 1 new 1 int java.util.Comparator
         3: invokespecial java.util.Comparators$NullComparator.<init>:(ZLjava/util/Comparator;)V
            areturn
        end local 1 // java.util.Comparator other
        end local 0 // java.util.Comparators$NullComparator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljava/util/Comparators$NullComparator<TT;>;
            0    4     1  other  Ljava/util/Comparator<-TT;>;
    Signature: (Ljava/util/Comparator<-TT;>;)Ljava/util/Comparator<TT;>;
    MethodParameters:
       Name  Flags
      other  

  public java.util.Comparator<T> reversed();
    descriptor: ()Ljava/util/Comparator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.Comparators$NullComparator this
         0: .line 95
            new java.util.Comparators$NullComparator
            dup
            aload 0 /* this */
            getfield java.util.Comparators$NullComparator.nullFirst:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals: java.util.Comparators$NullComparator
      StackMap stack: new 0 new 0
         1: iconst_1
      StackMap locals: java.util.Comparators$NullComparator
      StackMap stack: new 0 new 0 int
         2: aload 0 /* this */
            getfield java.util.Comparators$NullComparator.real:Ljava/util/Comparator;
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals: java.util.Comparators$NullComparator
      StackMap stack: new 0 new 0 int
         3: aload 0 /* this */
            getfield java.util.Comparators$NullComparator.real:Ljava/util/Comparator;
            invokeinterface java.util.Comparator.reversed:()Ljava/util/Comparator;
      StackMap locals: java.util.Comparators$NullComparator
      StackMap stack: new 0 new 0 int java.util.Comparator
         4: invokespecial java.util.Comparators$NullComparator.<init>:(ZLjava/util/Comparator;)V
            areturn
        end local 0 // java.util.Comparators$NullComparator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/util/Comparators$NullComparator<TT;>;
    Signature: ()Ljava/util/Comparator<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Comparator<TT;>;Ljava/io/Serializable;
SourceFile: "Comparators.java"
NestHost: java.util.Comparators
InnerClasses:
  final NullComparator = java.util.Comparators$NullComparator of java.util.Comparators