public class net.bytebuddy.build.HashCodeAndEqualsPlugin implements net.bytebuddy.build.Plugin, net.bytebuddy.build.Plugin$Factory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.bytebuddy.build.HashCodeAndEqualsPlugin
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.bytebuddy.build.HashCodeAndEqualsPlugin this
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // net.bytebuddy.build.HashCodeAndEqualsPlugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/bytebuddy/build/HashCodeAndEqualsPlugin;

  public net.bytebuddy.build.Plugin make();
    descriptor: ()Lnet/bytebuddy/build/Plugin;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.bytebuddy.build.HashCodeAndEqualsPlugin this
         0: .line 46
            aload 0 /* this */
            areturn
        end local 0 // net.bytebuddy.build.HashCodeAndEqualsPlugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/bytebuddy/build/HashCodeAndEqualsPlugin;

  public boolean matches(net.bytebuddy.description.type.TypeDescription);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // net.bytebuddy.build.HashCodeAndEqualsPlugin this
        start local 1 // net.bytebuddy.description.type.TypeDescription target
         0: .line 53
            aload 1 /* target */
            invokeinterface net.bytebuddy.description.type.TypeDescription.getDeclaredAnnotations:()Lnet/bytebuddy/description/annotation/AnnotationList;
            ldc Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$Enhance;
            invokeinterface net.bytebuddy.description.annotation.AnnotationList.isAnnotationPresent:(Ljava/lang/Class;)Z
            ireturn
        end local 1 // net.bytebuddy.description.type.TypeDescription target
        end local 0 // net.bytebuddy.build.HashCodeAndEqualsPlugin this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lnet/bytebuddy/build/HashCodeAndEqualsPlugin;
            0    1     1  target  Lnet/bytebuddy/description/type/TypeDescription;
    MethodParameters:
        Name  Flags
      target  

  public net.bytebuddy.dynamic.DynamicType$Builder<?> apply(net.bytebuddy.dynamic.DynamicType$Builder<?>, net.bytebuddy.description.type.TypeDescription, net.bytebuddy.dynamic.ClassFileLocator);
    descriptor: (Lnet/bytebuddy/dynamic/DynamicType$Builder;Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/dynamic/ClassFileLocator;)Lnet/bytebuddy/dynamic/DynamicType$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // net.bytebuddy.build.HashCodeAndEqualsPlugin this
        start local 1 // net.bytebuddy.dynamic.DynamicType$Builder builder
        start local 2 // net.bytebuddy.description.type.TypeDescription typeDescription
        start local 3 // net.bytebuddy.dynamic.ClassFileLocator classFileLocator
         0: .line 60
            aload 2 /* typeDescription */
            invokeinterface net.bytebuddy.description.type.TypeDescription.getDeclaredAnnotations:()Lnet/bytebuddy/description/annotation/AnnotationList;
            ldc Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$Enhance;
            invokeinterface net.bytebuddy.description.annotation.AnnotationList.ofType:(Ljava/lang/Class;)Lnet/bytebuddy/description/annotation/AnnotationDescription$Loadable;
            invokeinterface net.bytebuddy.description.annotation.AnnotationDescription$Loadable.loadSilent:()Ljava/lang/annotation/Annotation;
            checkcast net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance
            astore 4 /* enhance */
        start local 4 // net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance enhance
         1: .line 61
            aload 2 /* typeDescription */
            invokeinterface net.bytebuddy.description.type.TypeDescription.getDeclaredMethods:()Lnet/bytebuddy/description/method/MethodList;
            invokestatic net.bytebuddy.matcher.ElementMatchers.isHashCode:()Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            invokeinterface net.bytebuddy.description.method.MethodList.filter:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/FilterableList;
            checkcast net.bytebuddy.description.method.MethodList
            invokeinterface net.bytebuddy.description.method.MethodList.isEmpty:()Z
            ifeq 11
         2: .line 62
            aload 1 /* builder */
            invokestatic net.bytebuddy.matcher.ElementMatchers.isHashCode:()Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            invokeinterface net.bytebuddy.dynamic.DynamicType$Builder.method:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/dynamic/DynamicType$Builder$MethodDefinition$ImplementationDefinition;
            aload 4 /* enhance */
            invokeinterface net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance.invokeSuper:()Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$Enhance$InvokeSuper;
         3: .line 63
            aload 2 /* typeDescription */
            invokevirtual net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance$InvokeSuper.hashCodeMethod:(Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/implementation/HashCodeMethod;
         4: .line 64
            aload 4 /* enhance */
            invokeinterface net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance.includeSyntheticFields:()Z
            ifeq 6
         5: .line 65
            invokestatic net.bytebuddy.matcher.ElementMatchers.none:()Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            goto 7
         6: .line 66
      StackMap locals: net.bytebuddy.build.HashCodeAndEqualsPlugin net.bytebuddy.dynamic.DynamicType$Builder net.bytebuddy.description.type.TypeDescription net.bytebuddy.dynamic.ClassFileLocator net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance
      StackMap stack: net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ImplementationDefinition net.bytebuddy.implementation.HashCodeMethod
            invokestatic net.bytebuddy.matcher.ElementMatchers.isSynthetic:()Lnet/bytebuddy/matcher/ElementMatcher$Junction;
         7: .line 64
      StackMap locals: net.bytebuddy.build.HashCodeAndEqualsPlugin net.bytebuddy.dynamic.DynamicType$Builder net.bytebuddy.description.type.TypeDescription net.bytebuddy.dynamic.ClassFileLocator net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance
      StackMap stack: net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ImplementationDefinition net.bytebuddy.implementation.HashCodeMethod net.bytebuddy.matcher.ElementMatcher$Junction
            invokevirtual net.bytebuddy.implementation.HashCodeMethod.withIgnoredFields:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/implementation/HashCodeMethod;
         8: .line 67
            new net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher
            dup
            getstatic net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort.IGNORE:Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$ValueHandling$Sort;
            invokespecial net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher.<init>:(Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$ValueHandling$Sort;)V
            invokevirtual net.bytebuddy.implementation.HashCodeMethod.withIgnoredFields:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/implementation/HashCodeMethod;
         9: .line 68
            aload 0 /* this */
            new net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher
            dup
            getstatic net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort.REVERSE_NULLABILITY:Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$ValueHandling$Sort;
            invokespecial net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher.<init>:(Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$ValueHandling$Sort;)V
            invokevirtual net.bytebuddy.build.HashCodeAndEqualsPlugin.nonNullable:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/ElementMatcher;
            invokevirtual net.bytebuddy.implementation.HashCodeMethod.withNonNullableFields:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/implementation/HashCodeMethod;
        10: .line 62
            invokeinterface net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ImplementationDefinition.intercept:(Lnet/bytebuddy/implementation/Implementation;)Lnet/bytebuddy/dynamic/DynamicType$Builder$MethodDefinition$ReceiverTypeDefinition;
            astore 1 /* builder */
        11: .line 70
      StackMap locals:
      StackMap stack:
            aload 2 /* typeDescription */
            invokeinterface net.bytebuddy.description.type.TypeDescription.getDeclaredMethods:()Lnet/bytebuddy/description/method/MethodList;
            invokestatic net.bytebuddy.matcher.ElementMatchers.isEquals:()Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            invokeinterface net.bytebuddy.description.method.MethodList.filter:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/FilterableList;
            checkcast net.bytebuddy.description.method.MethodList
            invokeinterface net.bytebuddy.description.method.MethodList.isEmpty:()Z
            ifeq 32
        12: .line 71
            aload 4 /* enhance */
            invokeinterface net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance.invokeSuper:()Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$Enhance$InvokeSuper;
        13: .line 72
            aload 2 /* typeDescription */
            invokevirtual net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance$InvokeSuper.equalsMethod:(Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/implementation/EqualsMethod;
        14: .line 73
            aload 4 /* enhance */
            invokeinterface net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance.includeSyntheticFields:()Z
            ifeq 16
        15: .line 74
            invokestatic net.bytebuddy.matcher.ElementMatchers.none:()Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            goto 17
        16: .line 75
      StackMap locals:
      StackMap stack: net.bytebuddy.implementation.EqualsMethod
            invokestatic net.bytebuddy.matcher.ElementMatchers.isSynthetic:()Lnet/bytebuddy/matcher/ElementMatcher$Junction;
        17: .line 73
      StackMap locals: net.bytebuddy.build.HashCodeAndEqualsPlugin net.bytebuddy.dynamic.DynamicType$Builder net.bytebuddy.description.type.TypeDescription net.bytebuddy.dynamic.ClassFileLocator net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance
      StackMap stack: net.bytebuddy.implementation.EqualsMethod net.bytebuddy.matcher.ElementMatcher$Junction
            invokevirtual net.bytebuddy.implementation.EqualsMethod.withIgnoredFields:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/implementation/EqualsMethod;
        18: .line 76
            new net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher
            dup
            getstatic net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort.IGNORE:Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$ValueHandling$Sort;
            invokespecial net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher.<init>:(Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$ValueHandling$Sort;)V
            invokevirtual net.bytebuddy.implementation.EqualsMethod.withIgnoredFields:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/implementation/EqualsMethod;
        19: .line 77
            aload 0 /* this */
            new net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher
            dup
            getstatic net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort.REVERSE_NULLABILITY:Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$ValueHandling$Sort;
            invokespecial net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher.<init>:(Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$ValueHandling$Sort;)V
            invokevirtual net.bytebuddy.build.HashCodeAndEqualsPlugin.nonNullable:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/ElementMatcher;
            invokevirtual net.bytebuddy.implementation.EqualsMethod.withNonNullableFields:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/implementation/EqualsMethod;
        20: .line 78
            getstatic net.bytebuddy.build.HashCodeAndEqualsPlugin$AnnotationOrderComparator.INSTANCE:Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$AnnotationOrderComparator;
            invokevirtual net.bytebuddy.implementation.EqualsMethod.withFieldOrder:(Ljava/util/Comparator;)Lnet/bytebuddy/implementation/EqualsMethod;
        21: .line 71
            astore 5 /* equalsMethod */
        start local 5 // net.bytebuddy.implementation.EqualsMethod equalsMethod
        22: .line 79
            aload 4 /* enhance */
            invokeinterface net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance.simpleComparisonsFirst:()Z
            ifeq 29
        23: .line 80
            aload 5 /* equalsMethod */
        24: .line 81
            invokevirtual net.bytebuddy.implementation.EqualsMethod.withPrimitiveTypedFieldsFirst:()Lnet/bytebuddy/implementation/EqualsMethod;
        25: .line 82
            invokevirtual net.bytebuddy.implementation.EqualsMethod.withEnumerationTypedFieldsFirst:()Lnet/bytebuddy/implementation/EqualsMethod;
        26: .line 83
            invokevirtual net.bytebuddy.implementation.EqualsMethod.withPrimitiveWrapperTypedFieldsFirst:()Lnet/bytebuddy/implementation/EqualsMethod;
        27: .line 84
            invokevirtual net.bytebuddy.implementation.EqualsMethod.withStringTypedFieldsFirst:()Lnet/bytebuddy/implementation/EqualsMethod;
        28: .line 80
            astore 5 /* equalsMethod */
        29: .line 86
      StackMap locals: net.bytebuddy.implementation.EqualsMethod
      StackMap stack:
            aload 1 /* builder */
            invokestatic net.bytebuddy.matcher.ElementMatchers.isEquals:()Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            invokeinterface net.bytebuddy.dynamic.DynamicType$Builder.method:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/dynamic/DynamicType$Builder$MethodDefinition$ImplementationDefinition;
            aload 4 /* enhance */
            invokeinterface net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance.permitSubclassEquality:()Z
            ifeq 30
            aload 5 /* equalsMethod */
            invokevirtual net.bytebuddy.implementation.EqualsMethod.withSubclassEquality:()Lnet/bytebuddy/implementation/Implementation;
            goto 31
      StackMap locals:
      StackMap stack: net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ImplementationDefinition
        30: aload 5 /* equalsMethod */
      StackMap locals: net.bytebuddy.build.HashCodeAndEqualsPlugin net.bytebuddy.dynamic.DynamicType$Builder net.bytebuddy.description.type.TypeDescription net.bytebuddy.dynamic.ClassFileLocator net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance net.bytebuddy.implementation.EqualsMethod
      StackMap stack: net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ImplementationDefinition net.bytebuddy.implementation.Implementation
        31: invokeinterface net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ImplementationDefinition.intercept:(Lnet/bytebuddy/implementation/Implementation;)Lnet/bytebuddy/dynamic/DynamicType$Builder$MethodDefinition$ReceiverTypeDefinition;
            astore 1 /* builder */
        end local 5 // net.bytebuddy.implementation.EqualsMethod equalsMethod
        32: .line 88
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            areturn
        end local 4 // net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance enhance
        end local 3 // net.bytebuddy.dynamic.ClassFileLocator classFileLocator
        end local 2 // net.bytebuddy.description.type.TypeDescription typeDescription
        end local 1 // net.bytebuddy.dynamic.DynamicType$Builder builder
        end local 0 // net.bytebuddy.build.HashCodeAndEqualsPlugin this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   33     0              this  Lnet/bytebuddy/build/HashCodeAndEqualsPlugin;
            0   33     1           builder  Lnet/bytebuddy/dynamic/DynamicType$Builder<*>;
            0   33     2   typeDescription  Lnet/bytebuddy/description/type/TypeDescription;
            0   33     3  classFileLocator  Lnet/bytebuddy/dynamic/ClassFileLocator;
            1   33     4           enhance  Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$Enhance;
           22   32     5      equalsMethod  Lnet/bytebuddy/implementation/EqualsMethod;
    Signature: (Lnet/bytebuddy/dynamic/DynamicType$Builder<*>;Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/dynamic/ClassFileLocator;)Lnet/bytebuddy/dynamic/DynamicType$Builder<*>;
    MethodParameters:
                  Name  Flags
      builder           
      typeDescription   
      classFileLocator  

  protected net.bytebuddy.matcher.ElementMatcher<net.bytebuddy.description.field.FieldDescription> nonNullable(net.bytebuddy.matcher.ElementMatcher<net.bytebuddy.description.field.FieldDescription>);
    descriptor: (Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/ElementMatcher;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // net.bytebuddy.build.HashCodeAndEqualsPlugin this
        start local 1 // net.bytebuddy.matcher.ElementMatcher matcher
         0: .line 98
            aload 1 /* matcher */
            areturn
        end local 1 // net.bytebuddy.matcher.ElementMatcher matcher
        end local 0 // net.bytebuddy.build.HashCodeAndEqualsPlugin this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lnet/bytebuddy/build/HashCodeAndEqualsPlugin;
            0    1     1  matcher  Lnet/bytebuddy/matcher/ElementMatcher<Lnet/bytebuddy/description/field/FieldDescription;>;
    Signature: (Lnet/bytebuddy/matcher/ElementMatcher<Lnet/bytebuddy/description/field/FieldDescription;>;)Lnet/bytebuddy/matcher/ElementMatcher<Lnet/bytebuddy/description/field/FieldDescription;>;
    MethodParameters:
         Name  Flags
      matcher  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // net.bytebuddy.build.HashCodeAndEqualsPlugin this
         0: .line 106
            return
        end local 0 // net.bytebuddy.build.HashCodeAndEqualsPlugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/bytebuddy/build/HashCodeAndEqualsPlugin;

  public boolean matches(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast net.bytebuddy.description.type.TypeDescription
            invokevirtual net.bytebuddy.build.HashCodeAndEqualsPlugin.matches:(Lnet/bytebuddy/description/type/TypeDescription;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "HashCodeAndEqualsPlugin.java"
NestMembers:
  net.bytebuddy.build.HashCodeAndEqualsPlugin$AnnotationOrderComparator  net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance  net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance$InvokeSuper  net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance$InvokeSuper$1  net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance$InvokeSuper$2  net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance$InvokeSuper$3  net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance$InvokeSuper$4  net.bytebuddy.build.HashCodeAndEqualsPlugin$Sorted  net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling  net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort  net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher  net.bytebuddy.build.HashCodeAndEqualsPlugin$WithNonNullableFields
InnerClasses:
  protected final AnnotationOrderComparator = net.bytebuddy.build.HashCodeAndEqualsPlugin$AnnotationOrderComparator of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public abstract InvokeSuper = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance$InvokeSuper of net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance
  public abstract Sorted = net.bytebuddy.build.HashCodeAndEqualsPlugin$Sorted of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public abstract ValueHandling = net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public final Sort = net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort of net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling
  protected ValueMatcher = net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueMatcher of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public WithNonNullableFields = net.bytebuddy.build.HashCodeAndEqualsPlugin$WithNonNullableFields of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public abstract Factory = net.bytebuddy.build.Plugin$Factory of net.bytebuddy.build.Plugin
  public abstract Loadable = net.bytebuddy.description.annotation.AnnotationDescription$Loadable of net.bytebuddy.description.annotation.AnnotationDescription
  public abstract InDefinedShape = net.bytebuddy.description.field.FieldDescription$InDefinedShape of net.bytebuddy.description.field.FieldDescription
  public abstract InDefinedShape = net.bytebuddy.description.method.MethodDescription$InDefinedShape of net.bytebuddy.description.method.MethodDescription
  public abstract Builder = net.bytebuddy.dynamic.DynamicType$Builder of net.bytebuddy.dynamic.DynamicType
  public abstract MethodDefinition = net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition of net.bytebuddy.dynamic.DynamicType$Builder
  public abstract ImplementationDefinition = net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ImplementationDefinition of net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition
  public abstract ReceiverTypeDefinition = net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition$ReceiverTypeDefinition of net.bytebuddy.dynamic.DynamicType$Builder$MethodDefinition
  public abstract Junction = net.bytebuddy.matcher.ElementMatcher$Junction of net.bytebuddy.matcher.ElementMatcher
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()