final class com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator extends java.lang.Enum<com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator> implements java.util.Comparator<byte[]>
  minor version: 0
  major version: 59
  flags: flags: (0x4030) ACC_FINAL, ACC_SUPER, ACC_ANNOTATION
  this_class: com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator
  super_class: java.lang.Enum
{
  public static final com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator INSTANCE;
    descriptor: Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  private static final com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator[] ENUM$VALUES;
    descriptor: [Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
    flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 412
            new com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator
            dup
            ldc "INSTANCE"
            iconst_0
            invokespecial com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator.<init>:(Ljava/lang/String;I)V
            putstatic com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator.INSTANCE:Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
         1: .line 411
            iconst_1
            anewarray com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator
            dup
            iconst_0
            getstatic com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator.INSTANCE:Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
            aastore
            putstatic com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator.ENUM$VALUES:[Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator this
         0: .line 411
            aload 0 /* this */
            aload 1
            iload 2
            invokespecial java.lang.Enum.<init>:(Ljava/lang/String;I)V
            return
        end local 0 // com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
    MethodParameters:
               Name  Flags
      $enum$name     
      $enum$ordinal  

  public int compare(byte[], byte[]);
    descriptor: ([B[B)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator this
        start local 1 // byte[] left
        start local 2 // byte[] right
         0: .line 416
            aload 1 /* left */
            arraylength
            aload 2 /* right */
            arraylength
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* minLength */
        start local 3 // int minLength
         1: .line 417
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 7
         3: .line 418
      StackMap locals: int int
      StackMap stack:
            aload 1 /* left */
            iload 4 /* i */
            baload
            aload 2 /* right */
            iload 4 /* i */
            baload
            invokestatic com.google.common.primitives.UnsignedBytes.compare:(BB)I
            istore 5 /* result */
        start local 5 // int result
         4: .line 419
            iload 5 /* result */
            ifeq 6
         5: .line 420
            iload 5 /* result */
            ireturn
        end local 5 // int result
         6: .line 417
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 3 /* minLength */
            if_icmplt 3
        end local 4 // int i
         8: .line 423
            aload 1 /* left */
            arraylength
            aload 2 /* right */
            arraylength
            isub
            ireturn
        end local 3 // int minLength
        end local 2 // byte[] right
        end local 1 // byte[] left
        end local 0 // com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
            0    9     1       left  [B
            0    9     2      right  [B
            1    9     3  minLength  I
            2    8     4          i  I
            4    6     5     result  I
    MethodParameters:
       Name  Flags
      left   
      right  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator this
         0: .line 428
            ldc "UnsignedBytes.lexicographicalComparator() (pure Java version)"
            areturn
        end local 0 // com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;

  public static com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator[] values();
    descriptor: ()[Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=0
         0: .line 1
            getstatic com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator.ENUM$VALUES:[Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
            dup
            astore 0
            iconst_0
            aload 0
            arraylength
            dup
            istore 1
            anewarray com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator
            dup
            astore 2
            iconst_0
            iload 1
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
            aload 2
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator valueOf(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 1
            ldc Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
            aload 0
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
            checkcast com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
      Name  Flags
      name  

  public int compare(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast byte[]
            aload 2
            checkcast byte[]
            invokevirtual com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator.compare:([B[B)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Enum<Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;>;Ljava/util/Comparator<[B>;
SourceFile: "UnsignedBytes.java"
NestHost: com.google.common.primitives.UnsignedBytes
InnerClasses:
  LexicographicalComparatorHolder = com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder of com.google.common.primitives.UnsignedBytes
  final PureJavaComparator = com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator of com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder