public class net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$ForConstruction implements net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$ForConstruction
  super_class: java.lang.Object
{
  private final net.bytebuddy.description.type.TypeDescription typeDescription;
    descriptor: Lnet/bytebuddy/description/type/TypeDescription;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<net.bytebuddy.implementation.bind.MethodDelegationBinder$Record> records;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lnet/bytebuddy/implementation/bind/MethodDelegationBinder$Record;>;

  protected void <init>(net.bytebuddy.description.type.TypeDescription, java.util.List<net.bytebuddy.implementation.bind.MethodDelegationBinder$Record>);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription;Ljava/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$ForConstruction this
        start local 1 // net.bytebuddy.description.type.TypeDescription typeDescription
        start local 2 // java.util.List records
         0: .line 1185
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1186
            aload 0 /* this */
            aload 1 /* typeDescription */
            putfield net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$ForConstruction.typeDescription:Lnet/bytebuddy/description/type/TypeDescription;
         2: .line 1187
            aload 0 /* this */
            aload 2 /* records */
            putfield net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$ForConstruction.records:Ljava/util/List;
         3: .line 1188
            return
        end local 2 // java.util.List records
        end local 1 // net.bytebuddy.description.type.TypeDescription typeDescription
        end local 0 // net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$ForConstruction this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lnet/bytebuddy/implementation/MethodDelegation$ImplementationDelegate$ForConstruction;
            0    4     1  typeDescription  Lnet/bytebuddy/description/type/TypeDescription;
            0    4     2          records  Ljava/util/List<Lnet/bytebuddy/implementation/bind/MethodDelegationBinder$Record;>;
    Signature: (Lnet/bytebuddy/description/type/TypeDescription;Ljava/util/List<Lnet/bytebuddy/implementation/bind/MethodDelegationBinder$Record;>;)V
    MethodParameters:
                 Name  Flags
      typeDescription  
      records          

  protected static net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate of(net.bytebuddy.description.type.TypeDescription, net.bytebuddy.description.method.MethodList<?>, net.bytebuddy.implementation.bind.MethodDelegationBinder);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/description/method/MethodList;Lnet/bytebuddy/implementation/bind/MethodDelegationBinder;)Lnet/bytebuddy/implementation/MethodDelegation$ImplementationDelegate;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // net.bytebuddy.description.type.TypeDescription typeDescription
        start local 1 // net.bytebuddy.description.method.MethodList methods
        start local 2 // net.bytebuddy.implementation.bind.MethodDelegationBinder methodDelegationBinder
         0: .line 1201
            new java.util.ArrayList
            dup
            aload 1 /* methods */
            invokeinterface net.bytebuddy.description.method.MethodList.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* records */
        start local 3 // java.util.List records
         1: .line 1202
            aload 1 /* methods */
            invokeinterface net.bytebuddy.description.method.MethodList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 4
      StackMap locals: net.bytebuddy.description.type.TypeDescription net.bytebuddy.description.method.MethodList net.bytebuddy.implementation.bind.MethodDelegationBinder java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast net.bytebuddy.description.method.MethodDescription
            astore 4 /* methodDescription */
        start local 4 // net.bytebuddy.description.method.MethodDescription methodDescription
         3: .line 1203
            aload 3 /* records */
            aload 2 /* methodDelegationBinder */
            aload 4 /* methodDescription */
            invokeinterface net.bytebuddy.implementation.bind.MethodDelegationBinder.compile:(Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bind/MethodDelegationBinder$Record;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // net.bytebuddy.description.method.MethodDescription methodDescription
         4: .line 1202
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 1205
            new net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$ForConstruction
            dup
            aload 0 /* typeDescription */
            aload 3 /* records */
            invokespecial net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$ForConstruction.<init>:(Lnet/bytebuddy/description/type/TypeDescription;Ljava/util/List;)V
            areturn
        end local 3 // java.util.List records
        end local 2 // net.bytebuddy.implementation.bind.MethodDelegationBinder methodDelegationBinder
        end local 1 // net.bytebuddy.description.method.MethodList methods
        end local 0 // net.bytebuddy.description.type.TypeDescription typeDescription
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    6     0         typeDescription  Lnet/bytebuddy/description/type/TypeDescription;
            0    6     1                 methods  Lnet/bytebuddy/description/method/MethodList<*>;
            0    6     2  methodDelegationBinder  Lnet/bytebuddy/implementation/bind/MethodDelegationBinder;
            1    6     3                 records  Ljava/util/List<Lnet/bytebuddy/implementation/bind/MethodDelegationBinder$Record;>;
            3    4     4       methodDescription  Lnet/bytebuddy/description/method/MethodDescription;
    Signature: (Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/description/method/MethodList<*>;Lnet/bytebuddy/implementation/bind/MethodDelegationBinder;)Lnet/bytebuddy/implementation/MethodDelegation$ImplementationDelegate;
    MethodParameters:
                        Name  Flags
      typeDescription         
      methods                 
      methodDelegationBinder  

  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=1, locals=2, args_size=2
        start local 0 // net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$ForConstruction this
        start local 1 // net.bytebuddy.dynamic.scaffold.InstrumentedType instrumentedType
         0: .line 1212
            aload 1 /* instrumentedType */
            areturn
        end local 1 // net.bytebuddy.dynamic.scaffold.InstrumentedType instrumentedType
        end local 0 // net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$ForConstruction this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lnet/bytebuddy/implementation/MethodDelegation$ImplementationDelegate$ForConstruction;
            0    1     1  instrumentedType  Lnet/bytebuddy/dynamic/scaffold/InstrumentedType;
    MethodParameters:
                  Name  Flags
      instrumentedType  

  public net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$Compiled compile(net.bytebuddy.description.type.TypeDescription);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/implementation/MethodDelegation$ImplementationDelegate$Compiled;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$ForConstruction this
        start local 1 // net.bytebuddy.description.type.TypeDescription instrumentedType
         0: .line 1219
            new net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$Compiled$ForConstruction
            dup
            aload 0 /* this */
            getfield net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$ForConstruction.typeDescription:Lnet/bytebuddy/description/type/TypeDescription;
            aload 0 /* this */
            getfield net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$ForConstruction.records:Ljava/util/List;
            invokespecial net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$Compiled$ForConstruction.<init>:(Lnet/bytebuddy/description/type/TypeDescription;Ljava/util/List;)V
            areturn
        end local 1 // net.bytebuddy.description.type.TypeDescription instrumentedType
        end local 0 // net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$ForConstruction this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lnet/bytebuddy/implementation/MethodDelegation$ImplementationDelegate$ForConstruction;
            0    1     1  instrumentedType  Lnet/bytebuddy/description/type/TypeDescription;
    MethodParameters:
                  Name  Flags
      instrumentedType  
}
SourceFile: "MethodDelegation.java"
NestHost: net.bytebuddy.implementation.MethodDelegation
InnerClasses:
  public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
  protected abstract ImplementationDelegate = net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate of net.bytebuddy.implementation.MethodDelegation
  public abstract Compiled = net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$Compiled of net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate
  public ForConstruction = net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$Compiled$ForConstruction of net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$Compiled
  public ForConstruction = net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate$ForConstruction of net.bytebuddy.implementation.MethodDelegation$ImplementationDelegate
  public abstract Record = net.bytebuddy.implementation.bind.MethodDelegationBinder$Record of net.bytebuddy.implementation.bind.MethodDelegationBinder
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()