public class net.bytebuddy.ByteBuddy$EnumerationImplementation implements net.bytebuddy.implementation.Implementation
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.bytebuddy.ByteBuddy$EnumerationImplementation
  super_class: java.lang.Object
{
  protected static final java.lang.String CLONE_METHOD_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "clone"

  protected static final java.lang.String ENUM_VALUE_OF_METHOD_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "valueOf"

  protected static final java.lang.String ENUM_VALUES_METHOD_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "values"

  private static final int ENUM_FIELD_MODIFIERS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 25

  private static final java.lang.String ENUM_VALUES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "$VALUES"

  private final java.util.List<java.lang.String> values;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  protected void <init>(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // net.bytebuddy.ByteBuddy$EnumerationImplementation this
        start local 1 // java.util.List values
         0: .line 1315
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1316
            aload 0 /* this */
            aload 1 /* values */
            putfield net.bytebuddy.ByteBuddy$EnumerationImplementation.values:Ljava/util/List;
         2: .line 1317
            return
        end local 1 // java.util.List values
        end local 0 // net.bytebuddy.ByteBuddy$EnumerationImplementation this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lnet/bytebuddy/ByteBuddy$EnumerationImplementation;
            0    3     1  values  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
        Name  Flags
      values  

  public net.bytebuddy.dynamic.scaffold.InstrumentedType prepare(net.bytebuddy.dynamic.scaffold.InstrumentedType);
    descriptor: (Lnet/bytebuddy/dynamic/scaffold/InstrumentedType;)Lnet/bytebuddy/dynamic/scaffold/InstrumentedType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // net.bytebuddy.ByteBuddy$EnumerationImplementation this
        start local 1 // net.bytebuddy.dynamic.scaffold.InstrumentedType instrumentedType
         0: .line 1323
            aload 0 /* this */
            getfield net.bytebuddy.ByteBuddy$EnumerationImplementation.values:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: net.bytebuddy.ByteBuddy$EnumerationImplementation net.bytebuddy.dynamic.scaffold.InstrumentedType top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* value */
        start local 2 // java.lang.String value
         2: .line 1324
            aload 1 /* instrumentedType */
            new net.bytebuddy.description.field.FieldDescription$Token
            dup
            aload 2 /* value */
         3: .line 1325
            sipush 16409
         4: .line 1326
            getstatic net.bytebuddy.dynamic.TargetType.DESCRIPTION:Lnet/bytebuddy/description/type/TypeDescription;
            invokeinterface net.bytebuddy.description.type.TypeDescription.asGenericType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
            invokespecial net.bytebuddy.description.field.FieldDescription$Token.<init>:(Ljava/lang/String;ILnet/bytebuddy/description/type/TypeDescription$Generic;)V
         5: .line 1324
            invokeinterface net.bytebuddy.dynamic.scaffold.InstrumentedType.withField:(Lnet/bytebuddy/description/field/FieldDescription$Token;)Lnet/bytebuddy/dynamic/scaffold/InstrumentedType;
            astore 1 /* instrumentedType */
        end local 2 // java.lang.String value
         6: .line 1323
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 1328
            aload 1 /* instrumentedType */
         8: .line 1329
            new net.bytebuddy.description.field.FieldDescription$Token
            dup
            ldc "$VALUES"
         9: .line 1330
            sipush 4121
        10: .line 1331
            getstatic net.bytebuddy.dynamic.TargetType.DESCRIPTION:Lnet/bytebuddy/description/type/TypeDescription;
            invokestatic net.bytebuddy.description.type.TypeDescription$ArrayProjection.of:(Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/description/type/TypeDescription;
            invokeinterface net.bytebuddy.description.type.TypeDescription.asGenericType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
        11: .line 1329
            invokespecial net.bytebuddy.description.field.FieldDescription$Token.<init>:(Ljava/lang/String;ILnet/bytebuddy/description/type/TypeDescription$Generic;)V
            invokeinterface net.bytebuddy.dynamic.scaffold.InstrumentedType.withField:(Lnet/bytebuddy/description/field/FieldDescription$Token;)Lnet/bytebuddy/dynamic/scaffold/InstrumentedType;
        12: .line 1332
            new net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender
            dup
            aload 0 /* this */
            getfield net.bytebuddy.ByteBuddy$EnumerationImplementation.values:Ljava/util/List;
            invokespecial net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender.<init>:(Ljava/util/List;)V
            invokeinterface net.bytebuddy.dynamic.scaffold.InstrumentedType.withInitializer:(Lnet/bytebuddy/implementation/bytecode/ByteCodeAppender;)Lnet/bytebuddy/dynamic/scaffold/InstrumentedType;
        13: .line 1328
            areturn
        end local 1 // net.bytebuddy.dynamic.scaffold.InstrumentedType instrumentedType
        end local 0 // net.bytebuddy.ByteBuddy$EnumerationImplementation this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0              this  Lnet/bytebuddy/ByteBuddy$EnumerationImplementation;
            0   14     1  instrumentedType  Lnet/bytebuddy/dynamic/scaffold/InstrumentedType;
            2    6     2             value  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      instrumentedType  

  public net.bytebuddy.implementation.bytecode.ByteCodeAppender appender(net.bytebuddy.implementation.Implementation$Target);
    descriptor: (Lnet/bytebuddy/implementation/Implementation$Target;)Lnet/bytebuddy/implementation/bytecode/ByteCodeAppender;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.bytebuddy.ByteBuddy$EnumerationImplementation this
        start local 1 // net.bytebuddy.implementation.Implementation$Target implementationTarget
         0: .line 1339
            new net.bytebuddy.ByteBuddy$EnumerationImplementation$ValuesMethodAppender
            dup
            aload 1 /* implementationTarget */
            invokeinterface net.bytebuddy.implementation.Implementation$Target.getInstrumentedType:()Lnet/bytebuddy/description/type/TypeDescription;
            invokespecial net.bytebuddy.ByteBuddy$EnumerationImplementation$ValuesMethodAppender.<init>:(Lnet/bytebuddy/description/type/TypeDescription;)V
            areturn
        end local 1 // net.bytebuddy.implementation.Implementation$Target implementationTarget
        end local 0 // net.bytebuddy.ByteBuddy$EnumerationImplementation this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    1     0                  this  Lnet/bytebuddy/ByteBuddy$EnumerationImplementation;
            0    1     1  implementationTarget  Lnet/bytebuddy/implementation/Implementation$Target;
    MethodParameters:
                      Name  Flags
      implementationTarget  
}
SourceFile: "ByteBuddy.java"
NestHost: net.bytebuddy.ByteBuddy
InnerClasses:
  protected EnumerationImplementation = net.bytebuddy.ByteBuddy$EnumerationImplementation of net.bytebuddy.ByteBuddy
  protected InitializationAppender = net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender of net.bytebuddy.ByteBuddy$EnumerationImplementation
  protected ValuesMethodAppender = net.bytebuddy.ByteBuddy$EnumerationImplementation$ValuesMethodAppender of net.bytebuddy.ByteBuddy$EnumerationImplementation
  public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public Token = net.bytebuddy.description.field.FieldDescription$Token of net.bytebuddy.description.field.FieldDescription
  public ArrayProjection = net.bytebuddy.description.type.TypeDescription$ArrayProjection of net.bytebuddy.description.type.TypeDescription
  public abstract Generic = net.bytebuddy.description.type.TypeDescription$Generic of net.bytebuddy.description.type.TypeDescription
  public abstract Target = net.bytebuddy.implementation.Implementation$Target of net.bytebuddy.implementation.Implementation
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()