public abstract class com.google.common.base.CaseFormat extends java.lang.Enum<com.google.common.base.CaseFormat>
  minor version: 0
  major version: 59
  flags: flags: (0x4421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT, ACC_ANNOTATION
  this_class: com.google.common.base.CaseFormat
  super_class: java.lang.Enum
{
  public static final com.google.common.base.CaseFormat LOWER_HYPHEN;
    descriptor: Lcom/google/common/base/CaseFormat;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final com.google.common.base.CaseFormat LOWER_UNDERSCORE;
    descriptor: Lcom/google/common/base/CaseFormat;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final com.google.common.base.CaseFormat LOWER_CAMEL;
    descriptor: Lcom/google/common/base/CaseFormat;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final com.google.common.base.CaseFormat UPPER_CAMEL;
    descriptor: Lcom/google/common/base/CaseFormat;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final com.google.common.base.CaseFormat UPPER_UNDERSCORE;
    descriptor: Lcom/google/common/base/CaseFormat;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  private final com.google.common.base.CharMatcher wordBoundary;
    descriptor: Lcom/google/common/base/CharMatcher;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String wordSeparator;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 32
            new com.google.common.base.CaseFormat$1
            dup
            ldc "LOWER_HYPHEN"
            iconst_0
         1: .line 33
            bipush 45
            invokestatic com.google.common.base.CharMatcher.is:(C)Lcom/google/common/base/CharMatcher;
            ldc "-"
            invokespecial com.google.common.base.CaseFormat$1.<init>:(Ljava/lang/String;ILcom/google/common/base/CharMatcher;Ljava/lang/String;)V
            putstatic com.google.common.base.CaseFormat.LOWER_HYPHEN:Lcom/google/common/base/CaseFormat;
         2: .line 51
            new com.google.common.base.CaseFormat$2
            dup
            ldc "LOWER_UNDERSCORE"
            iconst_1
         3: .line 52
            bipush 95
            invokestatic com.google.common.base.CharMatcher.is:(C)Lcom/google/common/base/CharMatcher;
            ldc "_"
            invokespecial com.google.common.base.CaseFormat$2.<init>:(Ljava/lang/String;ILcom/google/common/base/CharMatcher;Ljava/lang/String;)V
            putstatic com.google.common.base.CaseFormat.LOWER_UNDERSCORE:Lcom/google/common/base/CaseFormat;
         4: .line 70
            new com.google.common.base.CaseFormat$3
            dup
            ldc "LOWER_CAMEL"
            iconst_2
         5: .line 71
            bipush 65
            bipush 90
            invokestatic com.google.common.base.CharMatcher.inRange:(CC)Lcom/google/common/base/CharMatcher;
            ldc ""
            invokespecial com.google.common.base.CaseFormat$3.<init>:(Ljava/lang/String;ILcom/google/common/base/CharMatcher;Ljava/lang/String;)V
            putstatic com.google.common.base.CaseFormat.LOWER_CAMEL:Lcom/google/common/base/CaseFormat;
         6: .line 78
            new com.google.common.base.CaseFormat$4
            dup
            ldc "UPPER_CAMEL"
            iconst_3
         7: .line 79
            bipush 65
            bipush 90
            invokestatic com.google.common.base.CharMatcher.inRange:(CC)Lcom/google/common/base/CharMatcher;
            ldc ""
            invokespecial com.google.common.base.CaseFormat$4.<init>:(Ljava/lang/String;ILcom/google/common/base/CharMatcher;Ljava/lang/String;)V
            putstatic com.google.common.base.CaseFormat.UPPER_CAMEL:Lcom/google/common/base/CaseFormat;
         8: .line 86
            new com.google.common.base.CaseFormat$5
            dup
            ldc "UPPER_UNDERSCORE"
            iconst_4
         9: .line 87
            bipush 95
            invokestatic com.google.common.base.CharMatcher.is:(C)Lcom/google/common/base/CharMatcher;
            ldc "_"
            invokespecial com.google.common.base.CaseFormat$5.<init>:(Ljava/lang/String;ILcom/google/common/base/CharMatcher;Ljava/lang/String;)V
            putstatic com.google.common.base.CaseFormat.UPPER_UNDERSCORE:Lcom/google/common/base/CaseFormat;
        10: .line 31
            iconst_5
            anewarray com.google.common.base.CaseFormat
            dup
            iconst_0
            getstatic com.google.common.base.CaseFormat.LOWER_HYPHEN:Lcom/google/common/base/CaseFormat;
            aastore
            dup
            iconst_1
            getstatic com.google.common.base.CaseFormat.LOWER_UNDERSCORE:Lcom/google/common/base/CaseFormat;
            aastore
            dup
            iconst_2
            getstatic com.google.common.base.CaseFormat.LOWER_CAMEL:Lcom/google/common/base/CaseFormat;
            aastore
            dup
            iconst_3
            getstatic com.google.common.base.CaseFormat.UPPER_CAMEL:Lcom/google/common/base/CaseFormat;
            aastore
            dup
            iconst_4
            getstatic com.google.common.base.CaseFormat.UPPER_UNDERSCORE:Lcom/google/common/base/CaseFormat;
            aastore
            putstatic com.google.common.base.CaseFormat.ENUM$VALUES:[Lcom/google/common/base/CaseFormat;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.lang.String, int, com.google.common.base.CharMatcher, java.lang.String);
    descriptor: (Ljava/lang/String;ILcom/google/common/base/CharMatcher;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.google.common.base.CaseFormat this
        start local 3 // com.google.common.base.CharMatcher wordBoundary
        start local 4 // java.lang.String wordSeparator
         0: .line 108
            aload 0 /* this */
            aload 1
            iload 2
            invokespecial java.lang.Enum.<init>:(Ljava/lang/String;I)V
         1: .line 109
            aload 0 /* this */
            aload 3 /* wordBoundary */
            putfield com.google.common.base.CaseFormat.wordBoundary:Lcom/google/common/base/CharMatcher;
         2: .line 110
            aload 0 /* this */
            aload 4 /* wordSeparator */
            putfield com.google.common.base.CaseFormat.wordSeparator:Ljava/lang/String;
         3: .line 111
            return
        end local 4 // java.lang.String wordSeparator
        end local 3 // com.google.common.base.CharMatcher wordBoundary
        end local 0 // com.google.common.base.CaseFormat this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lcom/google/common/base/CaseFormat;
            0    4     3   wordBoundary  Lcom/google/common/base/CharMatcher;
            0    4     4  wordSeparator  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      $enum$name     
      $enum$ordinal  
      wordBoundary   
      wordSeparator  

  public final java.lang.String to(com.google.common.base.CaseFormat, java.lang.String);
    descriptor: (Lcom/google/common/base/CaseFormat;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.common.base.CaseFormat this
        start local 1 // com.google.common.base.CaseFormat format
        start local 2 // java.lang.String str
         0: .line 119
            aload 1 /* format */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 120
            aload 2 /* str */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 121
            aload 1 /* format */
            aload 0 /* this */
            if_acmpne 3
            aload 2 /* str */
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            aload 1 /* format */
            aload 2 /* str */
            invokevirtual com.google.common.base.CaseFormat.convert:(Lcom/google/common/base/CaseFormat;Ljava/lang/String;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         4: areturn
        end local 2 // java.lang.String str
        end local 1 // com.google.common.base.CaseFormat format
        end local 0 // com.google.common.base.CaseFormat this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/google/common/base/CaseFormat;
            0    5     1  format  Lcom/google/common/base/CaseFormat;
            0    5     2     str  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      format  
      str     

  java.lang.String convert(com.google.common.base.CaseFormat, java.lang.String);
    descriptor: (Lcom/google/common/base/CaseFormat;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.google.common.base.CaseFormat this
        start local 1 // com.google.common.base.CaseFormat format
        start local 2 // java.lang.String s
         0: .line 127
            aconst_null
            astore 3 /* out */
        start local 3 // java.lang.StringBuilder out
         1: .line 128
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: .line 129
            iconst_m1
            istore 5 /* j */
        start local 5 // int j
         3: .line 130
            goto 11
         4: .line 131
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            iload 4 /* i */
            ifne 8
         5: .line 133
            new java.lang.StringBuilder
            dup
            aload 2 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_4
            aload 0 /* this */
            getfield com.google.common.base.CaseFormat.wordSeparator:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            imul
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* out */
         6: .line 134
            aload 3 /* out */
            aload 1 /* format */
            aload 2 /* s */
            iload 4 /* i */
            iload 5 /* j */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual com.google.common.base.CaseFormat.normalizeFirstWord:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 135
            goto 9
         8: .line 136
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            aload 1 /* format */
            aload 2 /* s */
            iload 4 /* i */
            iload 5 /* j */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual com.google.common.base.CaseFormat.normalizeWord:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 138
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            aload 1 /* format */
            getfield com.google.common.base.CaseFormat.wordSeparator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 139
            iload 5 /* j */
            aload 0 /* this */
            getfield com.google.common.base.CaseFormat.wordSeparator:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iadd
            istore 4 /* i */
        11: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.base.CaseFormat.wordBoundary:Lcom/google/common/base/CharMatcher;
            aload 2 /* s */
            iinc 5 /* j */ 1
            iload 5 /* j */
            invokevirtual com.google.common.base.CharMatcher.indexIn:(Ljava/lang/CharSequence;I)I
            dup
            istore 5 /* j */
            iconst_m1
            if_icmpne 4
        12: .line 141
            iload 4 /* i */
            ifne 14
        13: .line 142
            aload 1 /* format */
            aload 2 /* s */
            invokevirtual com.google.common.base.CaseFormat.normalizeFirstWord:(Ljava/lang/String;)Ljava/lang/String;
            goto 15
        14: .line 143
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            aload 1 /* format */
            aload 2 /* s */
            iload 4 /* i */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual com.google.common.base.CaseFormat.normalizeWord:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 141
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 5 // int j
        end local 4 // int i
        end local 3 // java.lang.StringBuilder out
        end local 2 // java.lang.String s
        end local 1 // com.google.common.base.CaseFormat format
        end local 0 // com.google.common.base.CaseFormat this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lcom/google/common/base/CaseFormat;
            0   16     1  format  Lcom/google/common/base/CaseFormat;
            0   16     2       s  Ljava/lang/String;
            1   16     3     out  Ljava/lang/StringBuilder;
            2   16     4       i  I
            3   16     5       j  I
    MethodParameters:
        Name  Flags
      format  
      s       

  public com.google.common.base.Converter<java.lang.String, java.lang.String> converterTo(com.google.common.base.CaseFormat);
    descriptor: (Lcom/google/common/base/CaseFormat;)Lcom/google/common/base/Converter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.common.base.CaseFormat this
        start local 1 // com.google.common.base.CaseFormat targetFormat
         0: .line 152
            new com.google.common.base.CaseFormat$StringConverter
            dup
            aload 0 /* this */
            aload 1 /* targetFormat */
            invokespecial com.google.common.base.CaseFormat$StringConverter.<init>:(Lcom/google/common/base/CaseFormat;Lcom/google/common/base/CaseFormat;)V
            areturn
        end local 1 // com.google.common.base.CaseFormat targetFormat
        end local 0 // com.google.common.base.CaseFormat this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/google/common/base/CaseFormat;
            0    1     1  targetFormat  Lcom/google/common/base/CaseFormat;
    Signature: (Lcom/google/common/base/CaseFormat;)Lcom/google/common/base/Converter<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
              Name  Flags
      targetFormat  

  abstract java.lang.String normalizeWord(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      word  

  private java.lang.String normalizeFirstWord(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.base.CaseFormat this
        start local 1 // java.lang.String word
         0: .line 201
            aload 0 /* this */
            getstatic com.google.common.base.CaseFormat.LOWER_CAMEL:Lcom/google/common/base/CaseFormat;
            if_acmpne 1
            aload 1 /* word */
            invokestatic com.google.common.base.Ascii.toLowerCase:(Ljava/lang/String;)Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            aload 1 /* word */
            invokevirtual com.google.common.base.CaseFormat.normalizeWord:(Ljava/lang/String;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 1 // java.lang.String word
        end local 0 // com.google.common.base.CaseFormat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/google/common/base/CaseFormat;
            0    3     1  word  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      word  

  private static java.lang.String firstCharOnlyToUpper(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String word
         0: .line 205
            aload 0 /* word */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 206
            aload 0 /* word */
            goto 3
         2: .line 207
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* word */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.google.common.base.Ascii.toUpperCase:(C)C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* word */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic com.google.common.base.Ascii.toLowerCase:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 205
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // java.lang.String word
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  word  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      word  

  public static com.google.common.base.CaseFormat[] values();
    descriptor: ()[Lcom/google/common/base/CaseFormat;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=0
         0: .line 1
            getstatic com.google.common.base.CaseFormat.ENUM$VALUES:[Lcom/google/common/base/CaseFormat;
            dup
            astore 0
            iconst_0
            aload 0
            arraylength
            dup
            istore 1
            anewarray com.google.common.base.CaseFormat
            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.base.CaseFormat valueOf(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/google/common/base/CaseFormat;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 1
            ldc Lcom/google/common/base/CaseFormat;
            aload 0
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
            checkcast com.google.common.base.CaseFormat
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
      Name  Flags
      name  
}
Signature: Ljava/lang/Enum<Lcom/google/common/base/CaseFormat;>;
SourceFile: "CaseFormat.java"
NestMembers:
  com.google.common.base.CaseFormat$1  com.google.common.base.CaseFormat$2  com.google.common.base.CaseFormat$3  com.google.common.base.CaseFormat$4  com.google.common.base.CaseFormat$5  com.google.common.base.CaseFormat$StringConverter
InnerClasses:
  com.google.common.base.CaseFormat$1
  com.google.common.base.CaseFormat$2
  com.google.common.base.CaseFormat$3
  com.google.common.base.CaseFormat$4
  com.google.common.base.CaseFormat$5
  private final StringConverter = com.google.common.base.CaseFormat$StringConverter of com.google.common.base.CaseFormat
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtCompatible()