abstract class jdk.dynalink.beans.AbstractJavaLinker implements jdk.dynalink.linker.GuardingDynamicLinker
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: jdk.dynalink.beans.AbstractJavaLinker
  super_class: java.lang.Object
{
  final java.lang.Class<?> clazz;
    descriptor: Ljava/lang/Class;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private final java.lang.invoke.MethodHandle classGuard;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.invoke.MethodHandle assignableGuard;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<java.lang.String, jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod> propertyGetters;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;>;

  private final java.util.Map<java.lang.String, jdk.dynalink.beans.DynamicMethod> propertySetters;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;

  private final java.util.Map<java.lang.String, jdk.dynalink.beans.DynamicMethod> methods;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;

  private static final java.lang.invoke.MethodHandle IS_METHOD_HANDLE_NOT_NULL;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle CONSTANT_NULL_DROP_METHOD_HANDLE;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.dynalink.linker.support.Lookup privateLookup;
    descriptor: Ljdk/dynalink/linker/support/Lookup;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle IS_ANNOTATED_METHOD_NOT_NULL;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle CONSTANT_NULL_DROP_ANNOTATED_METHOD;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle GET_ANNOTATED_METHOD;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle GETTER_INVOKER;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle IS_DYNAMIC_METHOD;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle OBJECT_IDENTITY;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static java.lang.invoke.MethodHandle GET_PROPERTY_GETTER_HANDLE;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private final java.lang.invoke.MethodHandle getPropertyGetterHandle;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final java.lang.invoke.MethodHandle GET_PROPERTY_SETTER_HANDLE;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.invoke.MethodHandle getPropertySetterHandle;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static java.lang.invoke.MethodHandle GET_DYNAMIC_METHOD;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private final java.lang.invoke.MethodHandle getDynamicMethod;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$jdk$dynalink$beans$GuardedInvocationComponent$ValidationType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=0, args_size=0
         0: .line 122
            ldc Ljdk/dynalink/beans/AbstractJavaLinker;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic jdk.dynalink.beans.AbstractJavaLinker.$assertionsDisabled:Z
         3: .line 539
            invokestatic jdk.dynalink.linker.support.Guards.isNotNull:()Ljava/lang/invoke/MethodHandle;
         4: .line 540
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/invoke/MethodHandle;
         5: .line 539
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.IS_METHOD_HANDLE_NOT_NULL:Ljava/lang/invoke/MethodHandle;
         6: .line 542
            ldc Ljava/lang/Object;
            aconst_null
            invokestatic java.lang.invoke.MethodHandles.constant:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
         7: .line 541
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.CONSTANT_NULL_DROP_METHOD_HANDLE:Ljava/lang/invoke/MethodHandle;
         8: .line 625
            new jdk.dynalink.linker.support.Lookup
            dup
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            invokespecial jdk.dynalink.linker.support.Lookup.<init>:(Ljava/lang/invoke/MethodHandles$Lookup;)V
            putstatic jdk.dynalink.beans.AbstractJavaLinker.privateLookup:Ljdk/dynalink/linker/support/Lookup;
         9: .line 627
            invokestatic jdk.dynalink.linker.support.Guards.isNotNull:()Ljava/lang/invoke/MethodHandle;
        10: .line 628
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            ldc Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;
        11: .line 627
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.IS_ANNOTATED_METHOD_NOT_NULL:Ljava/lang/invoke/MethodHandle;
        12: .line 630
            ldc Ljava/lang/Object;
            aconst_null
            invokestatic java.lang.invoke.MethodHandles.constant:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;
            aastore
        13: .line 629
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.CONSTANT_NULL_DROP_ANNOTATED_METHOD:Ljava/lang/invoke/MethodHandle;
        14: .line 631
            getstatic jdk.dynalink.beans.AbstractJavaLinker.privateLookup:Ljdk/dynalink/linker/support/Lookup;
            ldc Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;
        15: .line 632
            ldc "getTarget"
            ldc Ljava/lang/invoke/MethodHandle;
            ldc Ljdk/dynalink/CallSiteDescriptor;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/dynalink/linker/LinkerServices;
            aastore
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        16: .line 631
            invokevirtual jdk.dynalink.linker.support.Lookup.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.GET_ANNOTATED_METHOD:Ljava/lang/invoke/MethodHandle;
        17: .line 633
            ldc Ljava/lang/Object;
            ldc Ljava/lang/Object;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokestatic java.lang.invoke.MethodHandles.invoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.GETTER_INVOKER:Ljava/lang/invoke/MethodHandle;
        18: .line 739
            ldc Ljdk/dynalink/beans/DynamicMethod;
        19: .line 740
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/Object;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        20: .line 739
            invokestatic jdk.dynalink.linker.support.Guards.isInstance:(Ljava/lang/Class;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.IS_DYNAMIC_METHOD:Ljava/lang/invoke/MethodHandle;
        21: .line 741
            ldc Ljava/lang/Object;
            invokestatic java.lang.invoke.MethodHandles.identity:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.OBJECT_IDENTITY:Ljava/lang/invoke/MethodHandle;
        22: .line 839
            getstatic jdk.dynalink.beans.AbstractJavaLinker.privateLookup:Ljdk/dynalink/linker/support/Lookup;
        23: .line 840
            ldc "getPropertyGetterHandle"
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
        24: .line 839
            invokevirtual jdk.dynalink.linker.support.Lookup.findOwnSpecial:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
        25: .line 840
            iconst_1
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
        26: .line 839
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.GET_PROPERTY_GETTER_HANDLE:Ljava/lang/invoke/MethodHandle;
        27: .line 856
            getstatic jdk.dynalink.beans.AbstractJavaLinker.privateLookup:Ljdk/dynalink/linker/support/Lookup;
            ldc "getPropertySetterHandle"
            ldc Ljava/lang/invoke/MethodHandle;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/dynalink/CallSiteDescriptor;
            aastore
            dup
            iconst_1
        28: .line 857
            ldc Ljdk/dynalink/linker/LinkerServices;
            aastore
            dup
            iconst_2
            ldc Ljava/lang/Object;
            aastore
        29: .line 856
            invokevirtual jdk.dynalink.linker.support.Lookup.findOwnSpecial:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
        30: .line 857
            iconst_3
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
        31: .line 855
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
        32: .line 857
            iconst_5
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
        33: .line 855
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.GET_PROPERTY_SETTER_HANDLE:Ljava/lang/invoke/MethodHandle;
        34: .line 867
            getstatic jdk.dynalink.beans.AbstractJavaLinker.privateLookup:Ljdk/dynalink/linker/support/Lookup;
        35: .line 868
            ldc "getDynamicMethod"
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
        36: .line 867
            invokevirtual jdk.dynalink.linker.support.Lookup.findOwnSpecial:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
        37: .line 868
            iconst_1
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
        38: .line 867
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.AbstractJavaLinker.GET_DYNAMIC_METHOD:Ljava/lang/invoke/MethodHandle;
        39: .line 868
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.lang.Class<?>, java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.invoke.MethodHandle classGuard
         0: .line 132
            aload 0 /* this */
            aload 1 /* clazz */
            aload 2 /* classGuard */
            aload 2 /* classGuard */
            invokespecial jdk.dynalink.beans.AbstractJavaLinker.<init>:(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
         1: .line 133
            return
        end local 2 // java.lang.invoke.MethodHandle classGuard
        end local 1 // java.lang.Class clazz
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    2     1       clazz  Ljava/lang/Class<*>;
            0    2     2  classGuard  Ljava/lang/invoke/MethodHandle;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MethodHandle;)V
    MethodParameters:
            Name  Flags
      clazz       final
      classGuard  final

  void <init>(java.lang.Class<?>, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.invoke.MethodHandle classGuard
        start local 3 // java.lang.invoke.MethodHandle assignableGuard
         0: .line 135
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 127
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.dynalink.beans.AbstractJavaLinker.propertyGetters:Ljava/util/Map;
         2: .line 128
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.dynalink.beans.AbstractJavaLinker.propertySetters:Ljava/util/Map;
         3: .line 129
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.dynalink.beans.AbstractJavaLinker.methods:Ljava/util/Map;
         4: .line 841
            aload 0 /* this */
            getstatic jdk.dynalink.beans.AbstractJavaLinker.GET_PROPERTY_GETTER_HANDLE:Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            putfield jdk.dynalink.beans.AbstractJavaLinker.getPropertyGetterHandle:Ljava/lang/invoke/MethodHandle;
         5: .line 859
            aload 0 /* this */
            getstatic jdk.dynalink.beans.AbstractJavaLinker.GET_PROPERTY_SETTER_HANDLE:Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            putfield jdk.dynalink.beans.AbstractJavaLinker.getPropertySetterHandle:Ljava/lang/invoke/MethodHandle;
         6: .line 869
            aload 0 /* this */
            getstatic jdk.dynalink.beans.AbstractJavaLinker.GET_DYNAMIC_METHOD:Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            putfield jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethod:Ljava/lang/invoke/MethodHandle;
         7: .line 136
            aload 0 /* this */
            aload 1 /* clazz */
            putfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
         8: .line 137
            aload 0 /* this */
            aload 2 /* classGuard */
            putfield jdk.dynalink.beans.AbstractJavaLinker.classGuard:Ljava/lang/invoke/MethodHandle;
         9: .line 138
            aload 0 /* this */
            aload 3 /* assignableGuard */
            putfield jdk.dynalink.beans.AbstractJavaLinker.assignableGuard:Ljava/lang/invoke/MethodHandle;
        10: .line 140
            aload 0 /* this */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.createFacetIntrospector:()Ljdk/dynalink/beans/FacetIntrospector;
            astore 4 /* introspector */
        start local 4 // jdk.dynalink.beans.FacetIntrospector introspector
        11: .line 142
            aload 4 /* introspector */
            invokevirtual jdk.dynalink.beans.FacetIntrospector.getMethods:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 24
      StackMap locals: jdk.dynalink.beans.AbstractJavaLinker java.lang.Class java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle jdk.dynalink.beans.FacetIntrospector top java.util.Iterator
      StackMap stack:
        12: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 5 /* method */
        start local 5 // java.lang.reflect.Method method
        13: .line 143
            aload 5 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
        14: .line 145
            aload 0 /* this */
            aload 7 /* name */
            aload 5 /* method */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.methods:Ljava/util/Map;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.addMember:(Ljava/lang/String;Ljava/lang/reflect/AccessibleObject;Ljava/util/Map;)V
        15: .line 147
            aload 7 /* name */
            ldc "get"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 18
            aload 7 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_3
            if_icmple 18
            aload 5 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            ifne 18
        16: .line 149
            aload 0 /* this */
            aload 5 /* method */
            iconst_3
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.setPropertyGetter:(Ljava/lang/reflect/Method;I)V
        17: .line 150
            goto 24
      StackMap locals: jdk.dynalink.beans.AbstractJavaLinker java.lang.Class java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle jdk.dynalink.beans.FacetIntrospector java.lang.reflect.Method java.util.Iterator java.lang.String
      StackMap stack:
        18: aload 7 /* name */
            ldc "is"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 22
            aload 7 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmple 22
            aload 5 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            ifne 22
        19: .line 151
            aload 5 /* method */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 22
        20: .line 153
            aload 0 /* this */
            aload 5 /* method */
            iconst_2
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.setPropertyGetter:(Ljava/lang/reflect/Method;I)V
        21: .line 154
            goto 24
      StackMap locals:
      StackMap stack:
        22: aload 7 /* name */
            ldc "set"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 24
            aload 7 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_3
            if_icmple 24
            aload 5 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            iconst_1
            if_icmpne 24
        23: .line 156
            aload 0 /* this */
            aload 7 /* name */
            iconst_3
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.decapitalize:(Ljava/lang/String;)Ljava/lang/String;
            aload 5 /* method */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertySetters:Ljava/util/Map;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.addMember:(Ljava/lang/String;Ljava/lang/reflect/AccessibleObject;Ljava/util/Map;)V
        end local 7 // java.lang.String name
        end local 5 // java.lang.reflect.Method method
        24: .line 142
      StackMap locals: jdk.dynalink.beans.AbstractJavaLinker java.lang.Class java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle jdk.dynalink.beans.FacetIntrospector top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        25: .line 161
            aload 4 /* introspector */
            invokevirtual jdk.dynalink.beans.FacetIntrospector.getFields:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 34
      StackMap locals:
      StackMap stack:
        26: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Field
            astore 5 /* field */
        start local 5 // java.lang.reflect.Field field
        27: .line 162
            aload 5 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
        28: .line 164
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertyGetters:Ljava/util/Map;
            aload 7 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 30
        29: .line 165
            aload 0 /* this */
            aload 7 /* name */
            aload 4 /* introspector */
            aload 5 /* field */
            invokevirtual jdk.dynalink.beans.FacetIntrospector.unreflectGetter:(Ljava/lang/reflect/Field;)Ljava/lang/invoke/MethodHandle;
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.EXACT_CLASS:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.setPropertyGetter:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
        30: .line 167
      StackMap locals: jdk.dynalink.beans.AbstractJavaLinker java.lang.Class java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle jdk.dynalink.beans.FacetIntrospector java.lang.reflect.Field java.util.Iterator java.lang.String
      StackMap stack:
            aload 5 /* field */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
            ifne 34
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertySetters:Ljava/util/Map;
            aload 7 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 34
        31: .line 168
            aload 0 /* this */
            aload 7 /* name */
            new jdk.dynalink.beans.SimpleDynamicMethod
            dup
            aload 4 /* introspector */
            aload 5 /* field */
            invokevirtual jdk.dynalink.beans.FacetIntrospector.unreflectSetter:(Ljava/lang/reflect/Field;)Ljava/lang/invoke/MethodHandle;
            aload 1 /* clazz */
            aload 7 /* name */
            invokespecial jdk.dynalink.beans.SimpleDynamicMethod.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljava/lang/String;)V
        32: .line 169
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertySetters:Ljava/util/Map;
        33: .line 168
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.addMember:(Ljava/lang/String;Ljdk/dynalink/beans/SingleDynamicMethod;Ljava/util/Map;)V
        end local 7 // java.lang.String name
        end local 5 // java.lang.reflect.Field field
        34: .line 161
      StackMap locals: jdk.dynalink.beans.AbstractJavaLinker java.lang.Class java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle jdk.dynalink.beans.FacetIntrospector top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        35: .line 174
            aload 4 /* introspector */
            invokevirtual jdk.dynalink.beans.FacetIntrospector.getInnerClassGetters:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 40
      StackMap locals:
      StackMap stack:
        36: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* innerClassSpec */
        start local 5 // java.util.Map$Entry innerClassSpec
        37: .line 175
            aload 5 /* innerClassSpec */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* name */
        start local 7 // java.lang.String name
        38: .line 176
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertyGetters:Ljava/util/Map;
            aload 7 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 40
        39: .line 177
            aload 0 /* this */
            aload 7 /* name */
            aload 5 /* innerClassSpec */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.invoke.MethodHandle
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.EXACT_CLASS:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.setPropertyGetter:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
        end local 7 // java.lang.String name
        end local 5 // java.util.Map$Entry innerClassSpec
        40: .line 174
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 36
        41: .line 180
            return
        end local 4 // jdk.dynalink.beans.FacetIntrospector introspector
        end local 3 // java.lang.invoke.MethodHandle assignableGuard
        end local 2 // java.lang.invoke.MethodHandle classGuard
        end local 1 // java.lang.Class clazz
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   42     0             this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   42     1            clazz  Ljava/lang/Class<*>;
            0   42     2       classGuard  Ljava/lang/invoke/MethodHandle;
            0   42     3  assignableGuard  Ljava/lang/invoke/MethodHandle;
           11   42     4     introspector  Ljdk/dynalink/beans/FacetIntrospector;
           13   24     5           method  Ljava/lang/reflect/Method;
           14   24     7             name  Ljava/lang/String;
           27   34     5            field  Ljava/lang/reflect/Field;
           28   34     7             name  Ljava/lang/String;
           37   40     5   innerClassSpec  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/invoke/MethodHandle;>;
           38   40     7             name  Ljava/lang/String;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
    MethodParameters:
                 Name  Flags
      clazz            final
      classGuard       final
      assignableGuard  final

  private static java.lang.String decapitalize(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String str
         0: .line 183
            getstatic jdk.dynalink.beans.AbstractJavaLinker.$assertionsDisabled:Z
            ifne 1
            aload 0 /* str */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 3
         2: .line 185
            aload 0 /* str */
            areturn
         3: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* c0 */
        start local 1 // char c0
         4: .line 189
            iload 1 /* c0 */
            invokestatic java.lang.Character.isLowerCase:(C)Z
            ifeq 6
         5: .line 190
            aload 0 /* str */
            areturn
         6: .line 194
      StackMap locals: int
      StackMap stack:
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 8
            aload 0 /* str */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifeq 8
         7: .line 195
            aload 0 /* str */
            areturn
         8: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 2 /* c */
        start local 2 // char[] c
         9: .line 199
            aload 2 /* c */
            iconst_0
            iload 1 /* c0 */
            invokestatic java.lang.Character.toLowerCase:(C)C
            castore
        10: .line 200
            new java.lang.String
            dup
            aload 2 /* c */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 2 // char[] c
        end local 1 // char c0
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0   str  Ljava/lang/String;
            4   11     1    c0  C
            9   11     2     c  [C
    MethodParameters:
      Name  Flags
      str   final

  abstract jdk.dynalink.beans.FacetIntrospector createFacetIntrospector();
    descriptor: ()Ljdk/dynalink/beans/FacetIntrospector;
    flags: (0x0400) ACC_ABSTRACT

  java.util.Set<java.lang.String> getReadablePropertyNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
         0: .line 206
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertyGetters:Ljava/util/Map;
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getUnmodifiableKeys:(Ljava/util/Map;)Ljava/util/Set;
            areturn
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  java.util.Set<java.lang.String> getWritablePropertyNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
         0: .line 210
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertySetters:Ljava/util/Map;
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getUnmodifiableKeys:(Ljava/util/Map;)Ljava/util/Set;
            areturn
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  java.util.Set<java.lang.String> getMethodNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
         0: .line 214
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.methods:Ljava/util/Map;
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getUnmodifiableKeys:(Ljava/util/Map;)Ljava/util/Set;
            areturn
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  private static java.util.Set<java.lang.String> getUnmodifiableKeys(java.util.Map<java.lang.String, ?>);
    descriptor: (Ljava/util/Map;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Map m
         0: .line 218
            aload 0 /* m */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 0 // java.util.Map m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     m  Ljava/util/Map<Ljava/lang/String;*>;
    Signature: (Ljava/util/Map<Ljava/lang/String;*>;)Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      m     final

  private void setPropertyGetter(java.lang.String, jdk.dynalink.beans.SingleDynamicMethod, jdk.dynalink.beans.GuardedInvocationComponent$ValidationType);
    descriptor: (Ljava/lang/String;Ljdk/dynalink/beans/SingleDynamicMethod;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.String name
        start local 2 // jdk.dynalink.beans.SingleDynamicMethod handle
        start local 3 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
         0: .line 231
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertyGetters:Ljava/util/Map;
            aload 1 /* name */
            new jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod
            dup
            aload 2 /* handle */
            aload 3 /* validationType */
            invokespecial jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod.<init>:(Ljdk/dynalink/beans/SingleDynamicMethod;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 232
            return
        end local 3 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
        end local 2 // jdk.dynalink.beans.SingleDynamicMethod handle
        end local 1 // java.lang.String name
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    2     1            name  Ljava/lang/String;
            0    2     2          handle  Ljdk/dynalink/beans/SingleDynamicMethod;
            0    2     3  validationType  Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
    MethodParameters:
                Name  Flags
      name            final
      handle          final
      validationType  final

  private void setPropertyGetter(java.lang.reflect.Method, int);
    descriptor: (Ljava/lang/reflect/Method;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.reflect.Method getter
        start local 2 // int prefixLen
         0: .line 241
            aload 0 /* this */
            aload 1 /* getter */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            iload 2 /* prefixLen */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.decapitalize:(Ljava/lang/String;)Ljava/lang/String;
         1: .line 242
            aload 1 /* getter */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getMostGenericGetter:(Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
         2: .line 241
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.createDynamicMethod:(Ljava/lang/reflect/AccessibleObject;)Ljdk/dynalink/beans/SingleDynamicMethod;
         3: .line 242
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.INSTANCE_OF:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
         4: .line 241
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.setPropertyGetter:(Ljava/lang/String;Ljdk/dynalink/beans/SingleDynamicMethod;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
         5: .line 243
            return
        end local 2 // int prefixLen
        end local 1 // java.lang.reflect.Method getter
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    6     1     getter  Ljava/lang/reflect/Method;
            0    6     2  prefixLen  I
    MethodParameters:
           Name  Flags
      getter     final
      prefixLen  final

  void setPropertyGetter(java.lang.String, java.lang.invoke.MethodHandle, jdk.dynalink.beans.GuardedInvocationComponent$ValidationType);
    descriptor: (Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.String name
        start local 2 // java.lang.invoke.MethodHandle handle
        start local 3 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
         0: .line 255
            aload 0 /* this */
            aload 1 /* name */
            new jdk.dynalink.beans.SimpleDynamicMethod
            dup
            aload 2 /* handle */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
            aload 1 /* name */
            invokespecial jdk.dynalink.beans.SimpleDynamicMethod.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljava/lang/String;)V
            aload 3 /* validationType */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.setPropertyGetter:(Ljava/lang/String;Ljdk/dynalink/beans/SingleDynamicMethod;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
         1: .line 256
            return
        end local 3 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
        end local 2 // java.lang.invoke.MethodHandle handle
        end local 1 // java.lang.String name
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    2     1            name  Ljava/lang/String;
            0    2     2          handle  Ljava/lang/invoke/MethodHandle;
            0    2     3  validationType  Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
    MethodParameters:
                Name  Flags
      name            final
      handle          final
      validationType  final

  private void addMember(java.lang.String, java.lang.reflect.AccessibleObject, java.util.Map<java.lang.String, jdk.dynalink.beans.DynamicMethod>);
    descriptor: (Ljava/lang/String;Ljava/lang/reflect/AccessibleObject;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.String name
        start local 2 // java.lang.reflect.AccessibleObject ao
        start local 3 // java.util.Map methodMap
         0: .line 259
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* ao */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.createDynamicMethod:(Ljava/lang/reflect/AccessibleObject;)Ljdk/dynalink/beans/SingleDynamicMethod;
            aload 3 /* methodMap */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.addMember:(Ljava/lang/String;Ljdk/dynalink/beans/SingleDynamicMethod;Ljava/util/Map;)V
         1: .line 260
            return
        end local 3 // java.util.Map methodMap
        end local 2 // java.lang.reflect.AccessibleObject ao
        end local 1 // java.lang.String name
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    2     1       name  Ljava/lang/String;
            0    2     2         ao  Ljava/lang/reflect/AccessibleObject;
            0    2     3  methodMap  Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;
    Signature: (Ljava/lang/String;Ljava/lang/reflect/AccessibleObject;Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;)V
    MethodParameters:
           Name  Flags
      name       final
      ao         final
      methodMap  final

  private void addMember(java.lang.String, jdk.dynalink.beans.SingleDynamicMethod, java.util.Map<java.lang.String, jdk.dynalink.beans.DynamicMethod>);
    descriptor: (Ljava/lang/String;Ljdk/dynalink/beans/SingleDynamicMethod;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.String name
        start local 2 // jdk.dynalink.beans.SingleDynamicMethod method
        start local 3 // java.util.Map methodMap
         0: .line 263
            aload 3 /* methodMap */
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.dynalink.beans.DynamicMethod
            astore 4 /* existingMethod */
        start local 4 // jdk.dynalink.beans.DynamicMethod existingMethod
         1: .line 264
            aload 2 /* method */
            aload 4 /* existingMethod */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
            aload 1 /* name */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.mergeMethods:(Ljdk/dynalink/beans/SingleDynamicMethod;Ljdk/dynalink/beans/DynamicMethod;Ljava/lang/Class;Ljava/lang/String;)Ljdk/dynalink/beans/DynamicMethod;
            astore 5 /* newMethod */
        start local 5 // jdk.dynalink.beans.DynamicMethod newMethod
         2: .line 265
            aload 5 /* newMethod */
            aload 4 /* existingMethod */
            if_acmpeq 4
         3: .line 266
            aload 3 /* methodMap */
            aload 1 /* name */
            aload 5 /* newMethod */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 268
      StackMap locals: jdk.dynalink.beans.DynamicMethod jdk.dynalink.beans.DynamicMethod
      StackMap stack:
            return
        end local 5 // jdk.dynalink.beans.DynamicMethod newMethod
        end local 4 // jdk.dynalink.beans.DynamicMethod existingMethod
        end local 3 // java.util.Map methodMap
        end local 2 // jdk.dynalink.beans.SingleDynamicMethod method
        end local 1 // java.lang.String name
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    5     1            name  Ljava/lang/String;
            0    5     2          method  Ljdk/dynalink/beans/SingleDynamicMethod;
            0    5     3       methodMap  Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;
            1    5     4  existingMethod  Ljdk/dynalink/beans/DynamicMethod;
            2    5     5       newMethod  Ljdk/dynalink/beans/DynamicMethod;
    Signature: (Ljava/lang/String;Ljdk/dynalink/beans/SingleDynamicMethod;Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;)V
    MethodParameters:
           Name  Flags
      name       final
      method     final
      methodMap  final

  static jdk.dynalink.beans.DynamicMethod createDynamicMethod(java.lang.Iterable<? extends java.lang.reflect.AccessibleObject>, java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Iterable;Ljava/lang/Class;Ljava/lang/String;)Ljdk/dynalink/beans/DynamicMethod;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.lang.Iterable members
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.String name
         0: .line 279
            aconst_null
            astore 3 /* dynMethod */
        start local 3 // jdk.dynalink.beans.DynamicMethod dynMethod
         1: .line 280
            aload 0 /* members */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 4
      StackMap locals: java.lang.Iterable java.lang.Class java.lang.String jdk.dynalink.beans.DynamicMethod top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.AccessibleObject
            astore 4 /* method */
        start local 4 // java.lang.reflect.AccessibleObject method
         3: .line 281
            aload 4 /* method */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.createDynamicMethod:(Ljava/lang/reflect/AccessibleObject;)Ljdk/dynalink/beans/SingleDynamicMethod;
            aload 3 /* dynMethod */
            aload 1 /* clazz */
            aload 2 /* name */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.mergeMethods:(Ljdk/dynalink/beans/SingleDynamicMethod;Ljdk/dynalink/beans/DynamicMethod;Ljava/lang/Class;Ljava/lang/String;)Ljdk/dynalink/beans/DynamicMethod;
            astore 3 /* dynMethod */
        end local 4 // java.lang.reflect.AccessibleObject method
         4: .line 280
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 283
            aload 3 /* dynMethod */
            areturn
        end local 3 // jdk.dynalink.beans.DynamicMethod dynMethod
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.Iterable members
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0    members  Ljava/lang/Iterable<+Ljava/lang/reflect/AccessibleObject;>;
            0    6     1      clazz  Ljava/lang/Class<*>;
            0    6     2       name  Ljava/lang/String;
            1    6     3  dynMethod  Ljdk/dynalink/beans/DynamicMethod;
            3    4     4     method  Ljava/lang/reflect/AccessibleObject;
    Signature: (Ljava/lang/Iterable<+Ljava/lang/reflect/AccessibleObject;>;Ljava/lang/Class<*>;Ljava/lang/String;)Ljdk/dynalink/beans/DynamicMethod;
    MethodParameters:
         Name  Flags
      members  final
      clazz    final
      name     final

  private static jdk.dynalink.beans.SingleDynamicMethod createDynamicMethod(java.lang.reflect.AccessibleObject);
    descriptor: (Ljava/lang/reflect/AccessibleObject;)Ljdk/dynalink/beans/SingleDynamicMethod;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // java.lang.reflect.AccessibleObject m
         0: .line 294
            aload 0 /* m */
            ldc Ljdk/internal/reflect/CallerSensitive;
            invokevirtual java.lang.reflect.AccessibleObject.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 2
         1: .line 296
            new jdk.dynalink.beans.CallerSensitiveDynamicMethod
            dup
            aload 0 /* m */
            invokespecial jdk.dynalink.beans.CallerSensitiveDynamicMethod.<init>:(Ljava/lang/reflect/AccessibleObject;)V
            areturn
         2: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* m */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.unreflectSafely:(Ljava/lang/reflect/AccessibleObject;)Ljava/lang/invoke/MethodHandle;
            astore 1 /* mh */
        start local 1 // java.lang.invoke.MethodHandle mh
         3: .line 302
            goto 6
        end local 1 // java.lang.invoke.MethodHandle mh
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessError
         4: pop
         5: .line 305
            new jdk.dynalink.beans.CallerSensitiveDynamicMethod
            dup
            aload 0 /* m */
            invokespecial jdk.dynalink.beans.CallerSensitiveDynamicMethod.<init>:(Ljava/lang/reflect/AccessibleObject;)V
            areturn
        start local 1 // java.lang.invoke.MethodHandle mh
         6: .line 308
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 0 /* m */
            checkcast java.lang.reflect.Member
            astore 2 /* member */
        start local 2 // java.lang.reflect.Member member
         7: .line 309
            new jdk.dynalink.beans.SimpleDynamicMethod
            dup
            aload 1 /* mh */
            aload 2 /* member */
            invokeinterface java.lang.reflect.Member.getDeclaringClass:()Ljava/lang/Class;
            aload 2 /* member */
            invokeinterface java.lang.reflect.Member.getName:()Ljava/lang/String;
            aload 0 /* m */
            instanceof java.lang.reflect.Constructor
            invokespecial jdk.dynalink.beans.SimpleDynamicMethod.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljava/lang/String;Z)V
            areturn
        end local 2 // java.lang.reflect.Member member
        end local 1 // java.lang.invoke.MethodHandle mh
        end local 0 // java.lang.reflect.AccessibleObject m
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0       m  Ljava/lang/reflect/AccessibleObject;
            3    4     1      mh  Ljava/lang/invoke/MethodHandle;
            6    8     1      mh  Ljava/lang/invoke/MethodHandle;
            7    8     2  member  Ljava/lang/reflect/Member;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.IllegalAccessError
    MethodParameters:
      Name  Flags
      m     final

  private static java.lang.invoke.MethodHandle unreflectSafely(java.lang.reflect.AccessibleObject);
    descriptor: (Ljava/lang/reflect/AccessibleObject;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.reflect.AccessibleObject m
         0: .line 321
            aload 0 /* m */
            instanceof java.lang.reflect.Method
            ifeq 6
         1: .line 322
            aload 0 /* m */
            checkcast java.lang.reflect.Method
            astore 1 /* reflMethod */
        start local 1 // java.lang.reflect.Method reflMethod
         2: .line 323
            getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
            aload 1 /* reflMethod */
            invokevirtual jdk.dynalink.linker.support.Lookup.unreflect:(Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* handle */
        start local 2 // java.lang.invoke.MethodHandle handle
         3: .line 324
            aload 1 /* reflMethod */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifeq 5
         4: .line 325
            aload 2 /* handle */
            invokestatic jdk.dynalink.beans.StaticClassIntrospector.editStaticMethodHandle:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            areturn
         5: .line 327
      StackMap locals: java.lang.reflect.Method java.lang.invoke.MethodHandle
      StackMap stack:
            aload 2 /* handle */
            areturn
        end local 2 // java.lang.invoke.MethodHandle handle
        end local 1 // java.lang.reflect.Method reflMethod
         6: .line 329
      StackMap locals:
      StackMap stack:
            getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
            aload 0 /* m */
            checkcast java.lang.reflect.Constructor
            invokevirtual jdk.dynalink.linker.support.Lookup.unreflectConstructor:(Ljava/lang/reflect/Constructor;)Ljava/lang/invoke/MethodHandle;
            invokestatic jdk.dynalink.beans.StaticClassIntrospector.editConstructorMethodHandle:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 0 // java.lang.reflect.AccessibleObject m
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0           m  Ljava/lang/reflect/AccessibleObject;
            2    6     1  reflMethod  Ljava/lang/reflect/Method;
            3    6     2      handle  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      m     final

  private static jdk.dynalink.beans.DynamicMethod mergeMethods(jdk.dynalink.beans.SingleDynamicMethod, jdk.dynalink.beans.DynamicMethod, java.lang.Class<?>, java.lang.String);
    descriptor: (Ljdk/dynalink/beans/SingleDynamicMethod;Ljdk/dynalink/beans/DynamicMethod;Ljava/lang/Class;Ljava/lang/String;)Ljdk/dynalink/beans/DynamicMethod;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // jdk.dynalink.beans.SingleDynamicMethod method
        start local 1 // jdk.dynalink.beans.DynamicMethod existing
        start local 2 // java.lang.Class clazz
        start local 3 // java.lang.String name
         0: .line 333
            aload 1 /* existing */
            ifnonnull 2
         1: .line 334
            aload 0 /* method */
            areturn
         2: .line 335
      StackMap locals:
      StackMap stack:
            aload 1 /* existing */
            aload 0 /* method */
            invokevirtual jdk.dynalink.beans.DynamicMethod.contains:(Ljdk/dynalink/beans/SingleDynamicMethod;)Z
            ifeq 4
         3: .line 336
            aload 1 /* existing */
            areturn
         4: .line 337
      StackMap locals:
      StackMap stack:
            aload 1 /* existing */
            instanceof jdk.dynalink.beans.SingleDynamicMethod
            ifeq 9
         5: .line 338
            new jdk.dynalink.beans.OverloadedDynamicMethod
            dup
            aload 2 /* clazz */
            aload 3 /* name */
            invokespecial jdk.dynalink.beans.OverloadedDynamicMethod.<init>:(Ljava/lang/Class;Ljava/lang/String;)V
            astore 4 /* odm */
        start local 4 // jdk.dynalink.beans.OverloadedDynamicMethod odm
         6: .line 339
            aload 4 /* odm */
            aload 1 /* existing */
            checkcast jdk.dynalink.beans.SingleDynamicMethod
            invokevirtual jdk.dynalink.beans.OverloadedDynamicMethod.addMethod:(Ljdk/dynalink/beans/SingleDynamicMethod;)V
         7: .line 340
            aload 4 /* odm */
            aload 0 /* method */
            invokevirtual jdk.dynalink.beans.OverloadedDynamicMethod.addMethod:(Ljdk/dynalink/beans/SingleDynamicMethod;)V
         8: .line 341
            aload 4 /* odm */
            areturn
        end local 4 // jdk.dynalink.beans.OverloadedDynamicMethod odm
         9: .line 342
      StackMap locals:
      StackMap stack:
            aload 1 /* existing */
            instanceof jdk.dynalink.beans.OverloadedDynamicMethod
            ifeq 12
        10: .line 343
            aload 1 /* existing */
            checkcast jdk.dynalink.beans.OverloadedDynamicMethod
            aload 0 /* method */
            invokevirtual jdk.dynalink.beans.OverloadedDynamicMethod.addMethod:(Ljdk/dynalink/beans/SingleDynamicMethod;)V
        11: .line 344
            aload 1 /* existing */
            areturn
        12: .line 346
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class clazz
        end local 1 // jdk.dynalink.beans.DynamicMethod existing
        end local 0 // jdk.dynalink.beans.SingleDynamicMethod method
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0    method  Ljdk/dynalink/beans/SingleDynamicMethod;
            0   13     1  existing  Ljdk/dynalink/beans/DynamicMethod;
            0   13     2     clazz  Ljava/lang/Class<*>;
            0   13     3      name  Ljava/lang/String;
            6    9     4       odm  Ljdk/dynalink/beans/OverloadedDynamicMethod;
    Signature: (Ljdk/dynalink/beans/SingleDynamicMethod;Ljdk/dynalink/beans/DynamicMethod;Ljava/lang/Class<*>;Ljava/lang/String;)Ljdk/dynalink/beans/DynamicMethod;
    MethodParameters:
          Name  Flags
      method    final
      existing  final
      clazz     final
      name      final

  public jdk.dynalink.linker.GuardedInvocation getGuardedInvocation(jdk.dynalink.linker.LinkRequest, jdk.dynalink.linker.LinkerServices);
    descriptor: (Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.linker.LinkRequest request
        start local 2 // jdk.dynalink.linker.LinkerServices linkerServices
         0: .line 352
            aload 1 /* request */
            invokeinterface jdk.dynalink.linker.LinkRequest.getCallSiteDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            pop
         1: .line 356
            aload 2 /* linkerServices */
            instanceof jdk.dynalink.beans.LinkerServicesWithMissingMemberHandlerFactory
            ifeq 6
         2: .line 357
            aload 2 /* linkerServices */
            checkcast jdk.dynalink.beans.LinkerServicesWithMissingMemberHandlerFactory
            astore 5 /* lswmmhf */
        start local 5 // jdk.dynalink.beans.LinkerServicesWithMissingMemberHandlerFactory lswmmhf
         3: .line 358
            aload 5 /* lswmmhf */
            getfield jdk.dynalink.beans.LinkerServicesWithMissingMemberHandlerFactory.missingMemberHandlerFactory:Ljdk/dynalink/beans/MissingMemberHandlerFactory;
            astore 3 /* missingMemberHandlerFactory */
        start local 3 // jdk.dynalink.beans.MissingMemberHandlerFactory missingMemberHandlerFactory
         4: .line 359
            aload 5 /* lswmmhf */
            getfield jdk.dynalink.beans.LinkerServicesWithMissingMemberHandlerFactory.linkerServices:Ljdk/dynalink/linker/LinkerServices;
            astore 4 /* directLinkerServices */
        end local 5 // jdk.dynalink.beans.LinkerServicesWithMissingMemberHandlerFactory lswmmhf
        start local 4 // jdk.dynalink.linker.LinkerServices directLinkerServices
         5: .line 360
            goto 8
        end local 4 // jdk.dynalink.linker.LinkerServices directLinkerServices
        end local 3 // jdk.dynalink.beans.MissingMemberHandlerFactory missingMemberHandlerFactory
         6: .line 361
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* missingMemberHandlerFactory */
        start local 3 // jdk.dynalink.beans.MissingMemberHandlerFactory missingMemberHandlerFactory
         7: .line 362
            aload 2 /* linkerServices */
            astore 4 /* directLinkerServices */
        start local 4 // jdk.dynalink.linker.LinkerServices directLinkerServices
         8: .line 365
      StackMap locals: jdk.dynalink.beans.MissingMemberHandlerFactory jdk.dynalink.linker.LinkerServices
      StackMap stack:
            aload 0 /* this */
         9: .line 366
            new jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest
            dup
            aload 1 /* request */
            aload 4 /* directLinkerServices */
        10: .line 367
            aload 3 /* missingMemberHandlerFactory */
        11: .line 366
            invokespecial jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.<init>:(Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;Ljdk/dynalink/beans/MissingMemberHandlerFactory;)V
        12: .line 365
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getGuardedInvocationComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            astore 5 /* gic */
        start local 5 // jdk.dynalink.beans.GuardedInvocationComponent gic
        13: .line 368
            aload 5 /* gic */
            ifnull 14
            aload 5 /* gic */
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getGuardedInvocation:()Ljdk/dynalink/linker/GuardedInvocation;
            goto 15
      StackMap locals: jdk.dynalink.beans.GuardedInvocationComponent
      StackMap stack:
        14: aconst_null
      StackMap locals:
      StackMap stack: jdk.dynalink.linker.GuardedInvocation
        15: areturn
        end local 5 // jdk.dynalink.beans.GuardedInvocationComponent gic
        end local 4 // jdk.dynalink.linker.LinkerServices directLinkerServices
        end local 3 // jdk.dynalink.beans.MissingMemberHandlerFactory missingMemberHandlerFactory
        end local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 1 // jdk.dynalink.linker.LinkRequest request
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   16     0                         this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   16     1                      request  Ljdk/dynalink/linker/LinkRequest;
            0   16     2               linkerServices  Ljdk/dynalink/linker/LinkerServices;
            4    6     3  missingMemberHandlerFactory  Ljdk/dynalink/beans/MissingMemberHandlerFactory;
            7   16     3  missingMemberHandlerFactory  Ljdk/dynalink/beans/MissingMemberHandlerFactory;
            5    6     4         directLinkerServices  Ljdk/dynalink/linker/LinkerServices;
            8   16     4         directLinkerServices  Ljdk/dynalink/linker/LinkerServices;
            3    5     5                      lswmmhf  Ljdk/dynalink/beans/LinkerServicesWithMissingMemberHandlerFactory;
           13   16     5                          gic  Ljdk/dynalink/beans/GuardedInvocationComponent;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                Name  Flags
      request         final
      linkerServices  final

  protected jdk.dynalink.beans.GuardedInvocationComponent getGuardedInvocationComponent(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 417
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.namespaces:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 10
         1: .line 418
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.namespaces:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.dynalink.Namespace
            astore 2 /* ns */
        start local 2 // jdk.dynalink.Namespace ns
         2: .line 419
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.baseOperation:Ljdk/dynalink/Operation;
            astore 3 /* op */
        start local 3 // jdk.dynalink.Operation op
         3: .line 420
            aload 3 /* op */
            getstatic jdk.dynalink.StandardOperation.GET:Ljdk/dynalink/StandardOperation;
            if_acmpne 8
         4: .line 421
            aload 2 /* ns */
            getstatic jdk.dynalink.StandardNamespace.PROPERTY:Ljdk/dynalink/StandardNamespace;
            if_acmpne 6
         5: .line 422
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.popNamespace:()Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getPropertyGetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         6: .line 423
      StackMap locals: jdk.dynalink.Namespace jdk.dynalink.Operation
      StackMap stack:
            aload 2 /* ns */
            getstatic jdk.dynalink.StandardNamespace.METHOD:Ljdk/dynalink/StandardNamespace;
            if_acmpne 10
         7: .line 424
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.popNamespace:()Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getMethodGetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         8: .line 426
      StackMap locals:
      StackMap stack:
            aload 3 /* op */
            getstatic jdk.dynalink.StandardOperation.SET:Ljdk/dynalink/StandardOperation;
            if_acmpne 10
            aload 2 /* ns */
            getstatic jdk.dynalink.StandardNamespace.PROPERTY:Ljdk/dynalink/StandardNamespace;
            if_acmpne 10
         9: .line 427
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.popNamespace:()Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getPropertySetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 3 // jdk.dynalink.Operation op
        end local 2 // jdk.dynalink.Namespace ns
        10: .line 430
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   11     1   req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            2   10     2    ns  Ljdk/dynalink/Namespace;
            3   10     3    op  Ljdk/dynalink/Operation;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  jdk.dynalink.beans.GuardedInvocationComponent getNextComponent(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 434
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.namespaces:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 4
         1: .line 435
            aload 0 /* this */
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.missingMemberHandlerFactory:Ljdk/dynalink/beans/MissingMemberHandlerFactory;
         2: .line 436
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.linkRequest:Ljdk/dynalink/linker/LinkRequest;
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.linkerServices:Ljdk/dynalink/linker/LinkerServices;
         3: .line 435
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.createNoSuchMemberHandler:(Ljdk/dynalink/beans/MissingMemberHandlerFactory;Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         4: .line 438
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getGuardedInvocationComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            astore 2 /* gic */
        start local 2 // jdk.dynalink.beans.GuardedInvocationComponent gic
         5: .line 439
            aload 2 /* gic */
            ifnull 7
         6: .line 440
            aload 2 /* gic */
            areturn
         7: .line 442
      StackMap locals: jdk.dynalink.beans.GuardedInvocationComponent
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.popNamespace:()Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 2 // jdk.dynalink.beans.GuardedInvocationComponent gic
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    8     1   req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            5    8     2   gic  Ljdk/dynalink/beans/GuardedInvocationComponent;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.GuardedInvocationComponent createNoSuchMemberHandler(jdk.dynalink.beans.MissingMemberHandlerFactory, jdk.dynalink.linker.LinkRequest, jdk.dynalink.linker.LinkerServices);
    descriptor: (Ljdk/dynalink/beans/MissingMemberHandlerFactory;Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.MissingMemberHandlerFactory missingMemberHandlerFactory
        start local 2 // jdk.dynalink.linker.LinkRequest linkRequest
        start local 3 // jdk.dynalink.linker.LinkerServices linkerServices
         0: .line 448
            aload 1 /* missingMemberHandlerFactory */
            ifnonnull 2
         1: .line 449
            aconst_null
            areturn
         2: .line 451
      StackMap locals:
      StackMap stack:
            aload 1 /* missingMemberHandlerFactory */
            aload 2 /* linkRequest */
            aload 3 /* linkerServices */
            invokeinterface jdk.dynalink.beans.MissingMemberHandlerFactory.createMissingMemberHandler:(Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* handler */
        start local 4 // java.lang.invoke.MethodHandle handler
         3: .line 452
            aload 4 /* handler */
            ifnonnull 5
         4: .line 453
            aconst_null
            areturn
         5: .line 455
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 2 /* linkRequest */
            invokeinterface jdk.dynalink.linker.LinkRequest.getCallSiteDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            astore 5 /* type */
        start local 5 // java.lang.invoke.MethodType type
         6: .line 457
            getstatic jdk.dynalink.beans.AbstractJavaLinker.$assertionsDisabled:Z
            ifne 7
            aload 4 /* handler */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 5 /* type */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            aload 5 /* type */
            invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 458
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
            aload 0 /* this */
            aload 4 /* handler */
            aload 5 /* type */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 5 // java.lang.invoke.MethodType type
        end local 4 // java.lang.invoke.MethodHandle handler
        end local 3 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 2 // jdk.dynalink.linker.LinkRequest linkRequest
        end local 1 // jdk.dynalink.beans.MissingMemberHandlerFactory missingMemberHandlerFactory
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    8     0                         this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    8     1  missingMemberHandlerFactory  Ljdk/dynalink/beans/MissingMemberHandlerFactory;
            0    8     2                  linkRequest  Ljdk/dynalink/linker/LinkRequest;
            0    8     3               linkerServices  Ljdk/dynalink/linker/LinkerServices;
            3    8     4                      handler  Ljava/lang/invoke/MethodHandle;
            6    8     5                         type  Ljava/lang/invoke/MethodType;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                             Name  Flags
      missingMemberHandlerFactory  final
      linkRequest                  final
      linkerServices               final

  static final <T> java.util.List<T> pop(java.util.List<T>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.List l
         0: .line 462
            aload 0 /* l */
            iconst_1
            aload 0 /* l */
            invokeinterface java.util.List.size:()I
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            areturn
        end local 0 // java.util.List l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     l  Ljava/util/List<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      l     final

  java.lang.invoke.MethodHandle getClassGuard(jdk.dynalink.CallSiteDescriptor);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.CallSiteDescriptor desc
         0: .line 466
            aload 0 /* this */
            aload 1 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuard:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // jdk.dynalink.CallSiteDescriptor desc
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    1     1  desc  Ljdk/dynalink/CallSiteDescriptor;
    MethodParameters:
      Name  Flags
      desc  final

  java.lang.invoke.MethodHandle getClassGuard(java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.invoke.MethodType type
         0: .line 470
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.classGuard:Ljava/lang/invoke/MethodHandle;
            aload 1 /* type */
            invokestatic jdk.dynalink.linker.support.Guards.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.invoke.MethodType type
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    1     1  type  Ljava/lang/invoke/MethodType;
    MethodParameters:
      Name  Flags
      type  final

  jdk.dynalink.beans.GuardedInvocationComponent getClassGuardedInvocationComponent(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.invoke.MethodHandle invocation
        start local 2 // java.lang.invoke.MethodType type
         0: .line 474
            new jdk.dynalink.beans.GuardedInvocationComponent
            dup
            aload 1 /* invocation */
            aload 0 /* this */
            aload 2 /* type */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuard:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.EXACT_CLASS:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokespecial jdk.dynalink.beans.GuardedInvocationComponent.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
            areturn
        end local 2 // java.lang.invoke.MethodType type
        end local 1 // java.lang.invoke.MethodHandle invocation
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    1     1  invocation  Ljava/lang/invoke/MethodHandle;
            0    1     2        type  Ljava/lang/invoke/MethodType;
    MethodParameters:
            Name  Flags
      invocation  final
      type        final

  abstract jdk.dynalink.beans.SingleDynamicMethod getConstructorMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/dynalink/beans/SingleDynamicMethod;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      signature  final

  private java.lang.invoke.MethodHandle getAssignableGuard(java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.invoke.MethodType type
         0: .line 480
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.assignableGuard:Ljava/lang/invoke/MethodHandle;
            aload 1 /* type */
            invokestatic jdk.dynalink.linker.support.Guards.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.invoke.MethodType type
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    1     1  type  Ljava/lang/invoke/MethodType;
    MethodParameters:
      Name  Flags
      type  final

  private jdk.dynalink.linker.GuardedInvocation createGuardedDynamicMethodInvocation(jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkerServices, java.lang.String, java.util.Map<java.lang.String, jdk.dynalink.beans.DynamicMethod>);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;Ljava/lang/String;Ljava/util/Map;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        start local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        start local 3 // java.lang.String methodName
        start local 4 // java.util.Map methodMap
         0: .line 485
            aload 0 /* this */
            aload 1 /* callSiteDescriptor */
            aload 2 /* linkerServices */
            aload 3 /* methodName */
            aload 4 /* methodMap */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethodInvocation:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* inv */
        start local 5 // java.lang.invoke.MethodHandle inv
         1: .line 486
            aload 5 /* inv */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
         2: new jdk.dynalink.linker.GuardedInvocation
            dup
            aload 5 /* inv */
            aload 0 /* this */
            aload 1 /* callSiteDescriptor */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuard:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            invokespecial jdk.dynalink.linker.GuardedInvocation.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
      StackMap locals:
      StackMap stack: jdk.dynalink.linker.GuardedInvocation
         3: areturn
        end local 5 // java.lang.invoke.MethodHandle inv
        end local 4 // java.util.Map methodMap
        end local 3 // java.lang.String methodName
        end local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 1 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    4     1  callSiteDescriptor  Ljdk/dynalink/CallSiteDescriptor;
            0    4     2      linkerServices  Ljdk/dynalink/linker/LinkerServices;
            0    4     3          methodName  Ljava/lang/String;
            0    4     4           methodMap  Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;
            1    4     5                 inv  Ljava/lang/invoke/MethodHandle;
    Signature: (Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;)Ljdk/dynalink/linker/GuardedInvocation;
    MethodParameters:
                    Name  Flags
      callSiteDescriptor  final
      linkerServices      final
      methodName          final
      methodMap           final

  private java.lang.invoke.MethodHandle getDynamicMethodInvocation(jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkerServices, java.lang.String, java.util.Map<java.lang.String, jdk.dynalink.beans.DynamicMethod>);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        start local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        start local 3 // java.lang.String methodName
        start local 4 // java.util.Map methodMap
         0: .line 491
            aload 0 /* this */
            aload 3 /* methodName */
            aload 4 /* methodMap */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethod:(Ljava/lang/String;Ljava/util/Map;)Ljdk/dynalink/beans/DynamicMethod;
            astore 5 /* dynaMethod */
        start local 5 // jdk.dynalink.beans.DynamicMethod dynaMethod
         1: .line 492
            aload 5 /* dynaMethod */
            ifnull 2
            aload 5 /* dynaMethod */
            aload 1 /* callSiteDescriptor */
            aload 2 /* linkerServices */
            invokevirtual jdk.dynalink.beans.DynamicMethod.getInvocation:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;)Ljava/lang/invoke/MethodHandle;
            goto 3
      StackMap locals: jdk.dynalink.beans.DynamicMethod
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodHandle
         3: areturn
        end local 5 // jdk.dynalink.beans.DynamicMethod dynaMethod
        end local 4 // java.util.Map methodMap
        end local 3 // java.lang.String methodName
        end local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 1 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    4     1  callSiteDescriptor  Ljdk/dynalink/CallSiteDescriptor;
            0    4     2      linkerServices  Ljdk/dynalink/linker/LinkerServices;
            0    4     3          methodName  Ljava/lang/String;
            0    4     4           methodMap  Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;
            1    4     5          dynaMethod  Ljdk/dynalink/beans/DynamicMethod;
    Signature: (Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                    Name  Flags
      callSiteDescriptor  final
      linkerServices      final
      methodName          final
      methodMap           final

  private jdk.dynalink.beans.DynamicMethod getDynamicMethod(java.lang.String, java.util.Map<java.lang.String, jdk.dynalink.beans.DynamicMethod>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;)Ljdk/dynalink/beans/DynamicMethod;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.String methodName
        start local 2 // java.util.Map methodMap
         0: .line 496
            aload 2 /* methodMap */
            aload 1 /* methodName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.dynalink.beans.DynamicMethod
            astore 3 /* dynaMethod */
        start local 3 // jdk.dynalink.beans.DynamicMethod dynaMethod
         1: .line 497
            aload 3 /* dynaMethod */
            ifnull 2
            aload 3 /* dynaMethod */
            goto 3
      StackMap locals: jdk.dynalink.beans.DynamicMethod
      StackMap stack:
         2: aload 0 /* this */
            aload 1 /* methodName */
            aload 2 /* methodMap */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getExplicitSignatureDynamicMethod:(Ljava/lang/String;Ljava/util/Map;)Ljdk/dynalink/beans/SingleDynamicMethod;
      StackMap locals:
      StackMap stack: jdk.dynalink.beans.DynamicMethod
         3: areturn
        end local 3 // jdk.dynalink.beans.DynamicMethod dynaMethod
        end local 2 // java.util.Map methodMap
        end local 1 // java.lang.String methodName
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    4     1  methodName  Ljava/lang/String;
            0    4     2   methodMap  Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;
            1    4     3  dynaMethod  Ljdk/dynalink/beans/DynamicMethod;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;)Ljdk/dynalink/beans/DynamicMethod;
    MethodParameters:
            Name  Flags
      methodName  final
      methodMap   final

  private jdk.dynalink.beans.SingleDynamicMethod getExplicitSignatureDynamicMethod(java.lang.String, java.util.Map<java.lang.String, jdk.dynalink.beans.DynamicMethod>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;)Ljdk/dynalink/beans/SingleDynamicMethod;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.String fullName
        start local 2 // java.util.Map methodsMap
         0: .line 510
            aload 1 /* fullName */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 3 /* lastChar */
        start local 3 // int lastChar
         1: .line 511
            aload 1 /* fullName */
            iload 3 /* lastChar */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 41
            if_icmpeq 3
         2: .line 512
            aconst_null
            areturn
         3: .line 514
      StackMap locals: int
      StackMap stack:
            aload 1 /* fullName */
            bipush 40
            invokevirtual java.lang.String.indexOf:(I)I
            istore 4 /* openBrace */
        start local 4 // int openBrace
         4: .line 515
            iload 4 /* openBrace */
            iconst_m1
            if_icmpne 6
         5: .line 516
            aconst_null
            areturn
         6: .line 519
      StackMap locals: int
      StackMap stack:
            aload 1 /* fullName */
            iconst_0
            iload 4 /* openBrace */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
         7: .line 520
            aload 1 /* fullName */
            iload 4 /* openBrace */
            iconst_1
            iadd
            iload 3 /* lastChar */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* signature */
        start local 6 // java.lang.String signature
         8: .line 523
            aload 2 /* methodsMap */
            aload 5 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.dynalink.beans.DynamicMethod
            astore 7 /* simpleNamedMethod */
        start local 7 // jdk.dynalink.beans.DynamicMethod simpleNamedMethod
         9: .line 524
            aload 7 /* simpleNamedMethod */
            ifnonnull 13
        10: .line 528
            aload 5 /* name */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 12
        11: .line 529
            aload 0 /* this */
            aload 6 /* signature */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getConstructorMethod:(Ljava/lang/String;)Ljdk/dynalink/beans/SingleDynamicMethod;
            areturn
        12: .line 532
      StackMap locals: java.lang.String java.lang.String jdk.dynalink.beans.DynamicMethod
      StackMap stack:
            aconst_null
            areturn
        13: .line 536
      StackMap locals:
      StackMap stack:
            aload 7 /* simpleNamedMethod */
            aload 6 /* signature */
            invokevirtual jdk.dynalink.beans.DynamicMethod.getMethodForExactParamTypes:(Ljava/lang/String;)Ljdk/dynalink/beans/SingleDynamicMethod;
            areturn
        end local 7 // jdk.dynalink.beans.DynamicMethod simpleNamedMethod
        end local 6 // java.lang.String signature
        end local 5 // java.lang.String name
        end local 4 // int openBrace
        end local 3 // int lastChar
        end local 2 // java.util.Map methodsMap
        end local 1 // java.lang.String fullName
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   14     1           fullName  Ljava/lang/String;
            0   14     2         methodsMap  Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;
            1   14     3           lastChar  I
            4   14     4          openBrace  I
            7   14     5               name  Ljava/lang/String;
            8   14     6          signature  Ljava/lang/String;
            9   14     7  simpleNamedMethod  Ljdk/dynalink/beans/DynamicMethod;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljdk/dynalink/beans/DynamicMethod;>;)Ljdk/dynalink/beans/SingleDynamicMethod;
    MethodParameters:
            Name  Flags
      fullName    final
      methodsMap  final

  private jdk.dynalink.beans.GuardedInvocationComponent getPropertySetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 545
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.name:Ljava/lang/Object;
            ifnonnull 2
         1: .line 546
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getUnnamedPropertySetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         2: .line 548
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNamedPropertySetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    3     1   req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.GuardedInvocationComponent getUnnamedPropertySetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=14, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 552
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.getDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            astore 2 /* callSiteDescriptor */
        start local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
         1: .line 554
            aload 2 /* callSiteDescriptor */
            iconst_3
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.assertParameterCount:(Ljdk/dynalink/CallSiteDescriptor;I)V
         2: .line 559
            aload 2 /* callSiteDescriptor */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            astore 3 /* origType */
        start local 3 // java.lang.invoke.MethodType origType
         3: .line 560
            aload 3 /* origType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 4
            aload 3 /* origType */
            goto 5
      StackMap locals: jdk.dynalink.CallSiteDescriptor java.lang.invoke.MethodType
      StackMap stack:
         4: aload 3 /* origType */
            ldc Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodType
         5: astore 4 /* type */
        start local 4 // java.lang.invoke.MethodType type
         6: .line 561
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.linkerServices:Ljdk/dynalink/linker/LinkerServices;
            astore 5 /* linkerServices */
        start local 5 // jdk.dynalink.linker.LinkerServices linkerServices
         7: .line 573
            aload 4 /* type */
            iconst_1
            iconst_2
            invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
            astore 6 /* setterType */
        start local 6 // java.lang.invoke.MethodType setterType
         8: .line 576
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.getPropertySetterHandle:Ljava/lang/invoke/MethodHandle;
            iconst_0
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 577
            aload 2 /* callSiteDescriptor */
            aload 6 /* setterType */
            invokevirtual jdk.dynalink.CallSiteDescriptor.changeMethodType:(Ljava/lang/invoke/MethodType;)Ljdk/dynalink/CallSiteDescriptor;
            aastore
            dup
            iconst_1
            aload 5 /* linkerServices */
            aastore
        10: .line 576
            invokestatic java.lang.invoke.MethodHandles.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 7 /* boundGetter */
        start local 7 // java.lang.invoke.MethodHandle boundGetter
        11: .line 580
            aload 5 /* linkerServices */
            aload 7 /* boundGetter */
            aload 4 /* type */
        12: .line 581
            ldc Ljava/lang/invoke/MethodHandle;
        13: .line 580
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokeinterface jdk.dynalink.linker.LinkerServices.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 8 /* typedGetter */
        start local 8 // java.lang.invoke.MethodHandle typedGetter
        14: .line 584
            aload 6 /* setterType */
            invokestatic java.lang.invoke.MethodHandles.exactInvoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 9 /* invokeHandle */
        start local 9 // java.lang.invoke.MethodHandle invokeHandle
        15: .line 586
            aload 9 /* invokeHandle */
            iconst_2
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 4 /* type */
        16: .line 587
            iconst_1
        17: .line 586
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aastore
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 10 /* invokeHandleFolded */
        start local 10 // java.lang.invoke.MethodHandle invokeHandleFolded
        18: .line 588
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            astore 11 /* nextComponent */
        start local 11 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        19: .line 591
            aload 11 /* nextComponent */
            ifnonnull 26
        20: .line 593
            getstatic jdk.dynalink.beans.AbstractJavaLinker.CONSTANT_NULL_DROP_METHOD_HANDLE:Ljava/lang/invoke/MethodHandle;
            iconst_1
        21: .line 594
            aload 4 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterList:()Ljava/util/List;
        22: .line 593
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;ILjava/util/List;)Ljava/lang/invoke/MethodHandle;
        23: .line 594
            aload 4 /* type */
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
            invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        24: .line 593
            astore 12 /* fallbackFolded */
        start local 12 // java.lang.invoke.MethodHandle fallbackFolded
        25: .line 595
            goto 29
        end local 12 // java.lang.invoke.MethodHandle fallbackFolded
        26: .line 598
      StackMap locals: jdk.dynalink.beans.AbstractJavaLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.invoke.MethodType java.lang.invoke.MethodType jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle jdk.dynalink.beans.GuardedInvocationComponent
      StackMap stack:
            aload 11 /* nextComponent */
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getGuardedInvocation:()Ljdk/dynalink/linker/GuardedInvocation;
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
        27: .line 599
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
        28: .line 598
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 12 /* fallbackFolded */
        start local 12 // java.lang.invoke.MethodHandle fallbackFolded
        29: .line 604
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            getstatic jdk.dynalink.beans.AbstractJavaLinker.IS_METHOD_HANDLE_NOT_NULL:Ljava/lang/invoke/MethodHandle;
            aload 10 /* invokeHandleFolded */
            aload 12 /* fallbackFolded */
        30: .line 603
            invokestatic java.lang.invoke.MethodHandles.guardWithTest:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
        31: .line 604
            aload 8 /* typedGetter */
        32: .line 603
            invokestatic java.lang.invoke.MethodHandles.foldArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 13 /* compositeSetter */
        start local 13 // java.lang.invoke.MethodHandle compositeSetter
        33: .line 605
            aload 11 /* nextComponent */
            ifnonnull 35
        34: .line 606
            aload 0 /* this */
            aload 13 /* compositeSetter */
            aload 4 /* type */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        35: .line 608
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 11 /* nextComponent */
            aload 13 /* compositeSetter */
            aload 0 /* this */
            aload 4 /* type */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuard:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.EXACT_CLASS:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.compose:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 13 // java.lang.invoke.MethodHandle compositeSetter
        end local 12 // java.lang.invoke.MethodHandle fallbackFolded
        end local 11 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        end local 10 // java.lang.invoke.MethodHandle invokeHandleFolded
        end local 9 // java.lang.invoke.MethodHandle invokeHandle
        end local 8 // java.lang.invoke.MethodHandle typedGetter
        end local 7 // java.lang.invoke.MethodHandle boundGetter
        end local 6 // java.lang.invoke.MethodType setterType
        end local 5 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 4 // java.lang.invoke.MethodType type
        end local 3 // java.lang.invoke.MethodType origType
        end local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   36     0                this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   36     1                 req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            1   36     2  callSiteDescriptor  Ljdk/dynalink/CallSiteDescriptor;
            3   36     3            origType  Ljava/lang/invoke/MethodType;
            6   36     4                type  Ljava/lang/invoke/MethodType;
            7   36     5      linkerServices  Ljdk/dynalink/linker/LinkerServices;
            8   36     6          setterType  Ljava/lang/invoke/MethodType;
           11   36     7         boundGetter  Ljava/lang/invoke/MethodHandle;
           14   36     8         typedGetter  Ljava/lang/invoke/MethodHandle;
           15   36     9        invokeHandle  Ljava/lang/invoke/MethodHandle;
           18   36    10  invokeHandleFolded  Ljava/lang/invoke/MethodHandle;
           19   36    11       nextComponent  Ljdk/dynalink/beans/GuardedInvocationComponent;
           25   26    12      fallbackFolded  Ljava/lang/invoke/MethodHandle;
           29   36    12      fallbackFolded  Ljava/lang/invoke/MethodHandle;
           33   36    13     compositeSetter  Ljava/lang/invoke/MethodHandle;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.GuardedInvocationComponent getNamedPropertySetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 612
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.getDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            astore 2 /* callSiteDescriptor */
        start local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
         1: .line 614
            aload 2 /* callSiteDescriptor */
            iconst_2
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.assertParameterCount:(Ljdk/dynalink/CallSiteDescriptor;I)V
         2: .line 615
            aload 0 /* this */
            aload 2 /* callSiteDescriptor */
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.linkerServices:Ljdk/dynalink/linker/LinkerServices;
         3: .line 616
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.name:Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertySetters:Ljava/util/Map;
         4: .line 615
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.createGuardedDynamicMethodInvocation:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;Ljava/lang/String;Ljava/util/Map;)Ljdk/dynalink/linker/GuardedInvocation;
            astore 3 /* gi */
        start local 3 // jdk.dynalink.linker.GuardedInvocation gi
         5: .line 618
            aload 3 /* gi */
            ifnull 7
         6: .line 619
            new jdk.dynalink.beans.GuardedInvocationComponent
            dup
            aload 3 /* gi */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.EXACT_CLASS:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokespecial jdk.dynalink.beans.GuardedInvocationComponent.<init>:(Ljdk/dynalink/linker/GuardedInvocation;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
            areturn
         7: .line 622
      StackMap locals: jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.GuardedInvocation
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 3 // jdk.dynalink.linker.GuardedInvocation gi
        end local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0                this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    8     1                 req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            1    8     2  callSiteDescriptor  Ljdk/dynalink/CallSiteDescriptor;
            5    8     3                  gi  Ljdk/dynalink/linker/GuardedInvocation;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.GuardedInvocationComponent getPropertyGetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 636
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.name:Ljava/lang/Object;
            ifnonnull 2
         1: .line 637
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getUnnamedPropertyGetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         2: .line 639
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNamedPropertyGetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    3     1   req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.GuardedInvocationComponent getUnnamedPropertyGetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=14, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 646
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.getDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            astore 2 /* callSiteDescriptor */
        start local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
         1: .line 647
            aload 2 /* callSiteDescriptor */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            ldc Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 3 /* type */
        start local 3 // java.lang.invoke.MethodType type
         2: .line 649
            aload 2 /* callSiteDescriptor */
            iconst_2
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.assertParameterCount:(Ljdk/dynalink/CallSiteDescriptor;I)V
         3: .line 657
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.linkerServices:Ljdk/dynalink/linker/LinkerServices;
            astore 4 /* linkerServices */
        start local 4 // jdk.dynalink.linker.LinkerServices linkerServices
         4: .line 658
            aload 4 /* linkerServices */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.getPropertyGetterHandle:Ljava/lang/invoke/MethodHandle;
            aload 3 /* type */
         5: .line 659
            ldc Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;
         6: .line 658
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokeinterface jdk.dynalink.linker.LinkerServices.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* typedGetter */
        start local 5 // java.lang.invoke.MethodHandle typedGetter
         7: .line 661
            getstatic jdk.dynalink.beans.AbstractJavaLinker.GET_ANNOTATED_METHOD:Ljava/lang/invoke/MethodHandle;
            iconst_1
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* callSiteDescriptor */
            aastore
            dup
            iconst_1
            aload 4 /* linkerServices */
            aastore
         8: .line 660
            invokestatic java.lang.invoke.MethodHandles.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* callSiteBoundMethodGetter */
        start local 6 // java.lang.invoke.MethodHandle callSiteBoundMethodGetter
         9: .line 662
            getstatic jdk.dynalink.beans.AbstractJavaLinker.GETTER_INVOKER:Ljava/lang/invoke/MethodHandle;
            iconst_0
            iconst_1
            anewarray java.lang.invoke.MethodHandle
            dup
            iconst_0
        10: .line 663
            aload 6 /* callSiteBoundMethodGetter */
            aastore
        11: .line 662
            invokestatic java.lang.invoke.MethodHandles.filterArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 7 /* callSiteBoundInvoker */
        start local 7 // java.lang.invoke.MethodHandle callSiteBoundInvoker
        12: .line 665
            aload 4 /* linkerServices */
            aload 7 /* callSiteBoundInvoker */
        13: .line 666
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            ldc Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 3 /* type */
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aastore
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        14: .line 665
            invokeinterface jdk.dynalink.linker.LinkerServices.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 8 /* invokeHandleTyped */
        start local 8 // java.lang.invoke.MethodHandle invokeHandleTyped
        15: .line 669
            aload 8 /* invokeHandleTyped */
            iconst_2
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
        16: .line 670
            aload 3 /* type */
            iconst_1
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aastore
        17: .line 669
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 9 /* invokeHandleFolded */
        start local 9 // java.lang.invoke.MethodHandle invokeHandleFolded
        18: .line 671
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            astore 10 /* nextComponent */
        start local 10 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        19: .line 674
            aload 10 /* nextComponent */
            ifnonnull 26
        20: .line 676
            getstatic jdk.dynalink.beans.AbstractJavaLinker.CONSTANT_NULL_DROP_ANNOTATED_METHOD:Ljava/lang/invoke/MethodHandle;
            iconst_1
        21: .line 677
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterList:()Ljava/util/List;
        22: .line 676
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;ILjava/util/List;)Ljava/lang/invoke/MethodHandle;
        23: .line 677
            aload 3 /* type */
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;
            aastore
            invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        24: .line 676
            astore 11 /* fallbackFolded */
        start local 11 // java.lang.invoke.MethodHandle fallbackFolded
        25: .line 678
            goto 33
        end local 11 // java.lang.invoke.MethodHandle fallbackFolded
        26: .line 681
      StackMap locals: jdk.dynalink.beans.AbstractJavaLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.invoke.MethodType jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle jdk.dynalink.beans.GuardedInvocationComponent
      StackMap stack:
            aload 10 /* nextComponent */
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getGuardedInvocation:()Ljdk/dynalink/linker/GuardedInvocation;
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
            astore 12 /* nextInvocation */
        start local 12 // java.lang.invoke.MethodHandle nextInvocation
        27: .line 682
            aload 12 /* nextInvocation */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 13 /* nextType */
        start local 13 // java.lang.invoke.MethodType nextType
        28: .line 683
            aload 12 /* nextInvocation */
        29: .line 684
            aload 13 /* nextType */
            ldc Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        30: .line 683
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        31: .line 684
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;
            aastore
        32: .line 683
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 11 /* fallbackFolded */
        end local 13 // java.lang.invoke.MethodType nextType
        end local 12 // java.lang.invoke.MethodHandle nextInvocation
        start local 11 // java.lang.invoke.MethodHandle fallbackFolded
        33: .line 689
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            getstatic jdk.dynalink.beans.AbstractJavaLinker.IS_ANNOTATED_METHOD_NOT_NULL:Ljava/lang/invoke/MethodHandle;
            aload 9 /* invokeHandleFolded */
            aload 11 /* fallbackFolded */
        34: .line 688
            invokestatic java.lang.invoke.MethodHandles.guardWithTest:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
        35: .line 689
            aload 5 /* typedGetter */
        36: .line 688
            invokestatic java.lang.invoke.MethodHandles.foldArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 12 /* compositeGetter */
        start local 12 // java.lang.invoke.MethodHandle compositeGetter
        37: .line 690
            aload 10 /* nextComponent */
            ifnonnull 39
        38: .line 691
            aload 0 /* this */
            aload 12 /* compositeGetter */
            aload 3 /* type */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        39: .line 693
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 10 /* nextComponent */
            aload 12 /* compositeGetter */
            aload 0 /* this */
            aload 3 /* type */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuard:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.EXACT_CLASS:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.compose:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 12 // java.lang.invoke.MethodHandle compositeGetter
        end local 11 // java.lang.invoke.MethodHandle fallbackFolded
        end local 10 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        end local 9 // java.lang.invoke.MethodHandle invokeHandleFolded
        end local 8 // java.lang.invoke.MethodHandle invokeHandleTyped
        end local 7 // java.lang.invoke.MethodHandle callSiteBoundInvoker
        end local 6 // java.lang.invoke.MethodHandle callSiteBoundMethodGetter
        end local 5 // java.lang.invoke.MethodHandle typedGetter
        end local 4 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   40     0                       this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   40     1                        req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            1   40     2         callSiteDescriptor  Ljdk/dynalink/CallSiteDescriptor;
            2   40     3                       type  Ljava/lang/invoke/MethodType;
            4   40     4             linkerServices  Ljdk/dynalink/linker/LinkerServices;
            7   40     5                typedGetter  Ljava/lang/invoke/MethodHandle;
            9   40     6  callSiteBoundMethodGetter  Ljava/lang/invoke/MethodHandle;
           12   40     7       callSiteBoundInvoker  Ljava/lang/invoke/MethodHandle;
           15   40     8          invokeHandleTyped  Ljava/lang/invoke/MethodHandle;
           18   40     9         invokeHandleFolded  Ljava/lang/invoke/MethodHandle;
           19   40    10              nextComponent  Ljdk/dynalink/beans/GuardedInvocationComponent;
           25   26    11             fallbackFolded  Ljava/lang/invoke/MethodHandle;
           33   40    11             fallbackFolded  Ljava/lang/invoke/MethodHandle;
           27   33    12             nextInvocation  Ljava/lang/invoke/MethodHandle;
           28   33    13                   nextType  Ljava/lang/invoke/MethodType;
           37   40    12            compositeGetter  Ljava/lang/invoke/MethodHandle;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.GuardedInvocationComponent getNamedPropertyGetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 697
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.getDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            astore 2 /* callSiteDescriptor */
        start local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
         1: .line 699
            aload 2 /* callSiteDescriptor */
            iconst_1
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.assertParameterCount:(Ljdk/dynalink/CallSiteDescriptor;I)V
         2: .line 701
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertyGetters:Ljava/util/Map;
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.name:Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod
            astore 3 /* annGetter */
        start local 3 // jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod annGetter
         3: .line 702
            aload 3 /* annGetter */
            ifnonnull 5
         4: .line 704
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         5: .line 706
      StackMap locals: jdk.dynalink.CallSiteDescriptor jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod
      StackMap stack:
            aload 3 /* annGetter */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod.getInvocation:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* getter */
        start local 4 // java.lang.invoke.MethodHandle getter
         6: .line 713
            aload 3 /* annGetter */
            getfield jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod.validationType:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            astore 5 /* validationType */
        start local 5 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
         7: .line 715
            new jdk.dynalink.beans.GuardedInvocationComponent
            dup
            aload 4 /* getter */
            aload 0 /* this */
            aload 5 /* validationType */
         8: .line 716
            aload 2 /* callSiteDescriptor */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
         9: .line 715
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getGuard:(Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        10: .line 716
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
            aload 5 /* validationType */
        11: .line 715
            invokespecial jdk.dynalink.beans.GuardedInvocationComponent.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
            areturn
        end local 5 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
        end local 4 // java.lang.invoke.MethodHandle getter
        end local 3 // jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod annGetter
        end local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   12     0                this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   12     1                 req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            1   12     2  callSiteDescriptor  Ljdk/dynalink/CallSiteDescriptor;
            3   12     3           annGetter  Ljdk/dynalink/beans/AbstractJavaLinker$AnnotatedDynamicMethod;
            6   12     4              getter  Ljava/lang/invoke/MethodHandle;
            7   12     5      validationType  Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private java.lang.invoke.MethodHandle getGuard(jdk.dynalink.beans.GuardedInvocationComponent$ValidationType, java.lang.invoke.MethodType);
    descriptor: (Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
        start local 2 // java.lang.invoke.MethodType methodType
         0: .line 720
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.$SWITCH_TABLE$jdk$dynalink$beans$GuardedInvocationComponent$ValidationType:()[I
            aload 1 /* validationType */
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 4
                    2: 2
                    3: 1
                    4: 3
              default: 5
          }
         1: .line 722
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* methodType */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuard:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
         2: .line 725
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* methodType */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getAssignableGuard:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
         3: .line 728
      StackMap locals:
      StackMap stack:
            iconst_0
            aload 2 /* methodType */
            invokestatic jdk.dynalink.linker.support.Guards.isArray:(ILjava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
         4: .line 731
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         5: .line 734
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 2 // java.lang.invoke.MethodType methodType
        end local 1 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    6     1  validationType  Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            0    6     2      methodType  Ljava/lang/invoke/MethodType;
    MethodParameters:
                Name  Flags
      validationType  final
      methodType      final

  private jdk.dynalink.beans.GuardedInvocationComponent getMethodGetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 744
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.name:Ljava/lang/Object;
            ifnonnull 2
         1: .line 745
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getUnnamedMethodGetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         2: .line 747
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNamedMethodGetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    3     1   req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private static java.lang.invoke.MethodType getMethodGetterType(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljava/lang/invoke/MethodType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 753
            aload 0 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.getDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            ldc Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            areturn
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.GuardedInvocationComponent getUnnamedMethodGetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=10, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 758
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.getDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            iconst_2
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.assertParameterCount:(Ljdk/dynalink/CallSiteDescriptor;I)V
         1: .line 759
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            astore 2 /* nextComponent */
        start local 2 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
         2: .line 760
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.linkerServices:Ljdk/dynalink/linker/LinkerServices;
            astore 3 /* linkerServices */
        start local 3 // jdk.dynalink.linker.LinkerServices linkerServices
         3: .line 761
            aload 1 /* req */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getMethodGetterType:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljava/lang/invoke/MethodType;
            astore 4 /* type */
        start local 4 // java.lang.invoke.MethodType type
         4: .line 762
            aload 2 /* nextComponent */
            ifnonnull 6
         5: .line 764
            aload 0 /* this */
            aload 3 /* linkerServices */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethod:Ljava/lang/invoke/MethodHandle;
            aload 4 /* type */
            invokeinterface jdk.dynalink.linker.LinkerServices.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            aload 4 /* type */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         6: .line 772
      StackMap locals: jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType
      StackMap stack:
            aload 3 /* linkerServices */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethod:Ljava/lang/invoke/MethodHandle;
            aload 4 /* type */
            invokeinterface jdk.dynalink.linker.LinkerServices.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* typedGetter */
        start local 5 // java.lang.invoke.MethodHandle typedGetter
         7: .line 774
            aload 3 /* linkerServices */
         8: .line 775
            getstatic jdk.dynalink.beans.AbstractJavaLinker.OBJECT_IDENTITY:Ljava/lang/invoke/MethodHandle;
            iconst_1
            aload 4 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterList:()Ljava/util/List;
         9: .line 774
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;ILjava/util/List;)Ljava/lang/invoke/MethodHandle;
        10: .line 775
            aload 4 /* type */
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        11: .line 774
            invokeinterface jdk.dynalink.linker.LinkerServices.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* returnMethodHandle */
        start local 6 // java.lang.invoke.MethodHandle returnMethodHandle
        12: .line 776
            aload 2 /* nextComponent */
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getGuardedInvocation:()Ljdk/dynalink/linker/GuardedInvocation;
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
            astore 7 /* nextComponentInvocation */
        start local 7 // java.lang.invoke.MethodHandle nextComponentInvocation
        13: .line 779
            getstatic jdk.dynalink.beans.AbstractJavaLinker.$assertionsDisabled:Z
            ifne 14
            aload 7 /* nextComponentInvocation */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 4 /* type */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            aload 4 /* type */
            invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
            ifne 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 781
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle
      StackMap stack:
            aload 7 /* nextComponentInvocation */
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
        15: .line 782
            ldc Ljava/lang/Object;
            aastore
        16: .line 781
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 8 /* nextCombinedInvocation */
        start local 8 // java.lang.invoke.MethodHandle nextCombinedInvocation
        17: .line 786
            getstatic jdk.dynalink.beans.AbstractJavaLinker.IS_DYNAMIC_METHOD:Ljava/lang/invoke/MethodHandle;
            aload 6 /* returnMethodHandle */
        18: .line 787
            aload 8 /* nextCombinedInvocation */
            aload 8 /* nextCombinedInvocation */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            ldc Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        19: .line 785
            invokestatic java.lang.invoke.MethodHandles.guardWithTest:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
        20: .line 788
            aload 5 /* typedGetter */
        21: .line 785
            invokestatic java.lang.invoke.MethodHandles.foldArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 9 /* compositeGetter */
        start local 9 // java.lang.invoke.MethodHandle compositeGetter
        22: .line 790
            aload 2 /* nextComponent */
            aload 9 /* compositeGetter */
            aload 0 /* this */
            aload 4 /* type */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuard:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.clazz:Ljava/lang/Class;
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.EXACT_CLASS:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.compose:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 9 // java.lang.invoke.MethodHandle compositeGetter
        end local 8 // java.lang.invoke.MethodHandle nextCombinedInvocation
        end local 7 // java.lang.invoke.MethodHandle nextComponentInvocation
        end local 6 // java.lang.invoke.MethodHandle returnMethodHandle
        end local 5 // java.lang.invoke.MethodHandle typedGetter
        end local 4 // java.lang.invoke.MethodType type
        end local 3 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 2 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   23     0                     this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   23     1                      req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            2   23     2            nextComponent  Ljdk/dynalink/beans/GuardedInvocationComponent;
            3   23     3           linkerServices  Ljdk/dynalink/linker/LinkerServices;
            4   23     4                     type  Ljava/lang/invoke/MethodType;
            7   23     5              typedGetter  Ljava/lang/invoke/MethodHandle;
           12   23     6       returnMethodHandle  Ljava/lang/invoke/MethodHandle;
           13   23     7  nextComponentInvocation  Ljava/lang/invoke/MethodHandle;
           17   23     8   nextCombinedInvocation  Ljava/lang/invoke/MethodHandle;
           22   23     9          compositeGetter  Ljava/lang/invoke/MethodHandle;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.GuardedInvocationComponent getNamedMethodGetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=4, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 796
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.getDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
            iconst_1
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.assertParameterCount:(Ljdk/dynalink/CallSiteDescriptor;I)V
         1: .line 797
            aload 0 /* this */
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.name:Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethod:(Ljava/lang/String;)Ljdk/dynalink/beans/DynamicMethod;
            astore 2 /* method */
        start local 2 // jdk.dynalink.beans.DynamicMethod method
         2: .line 798
            aload 2 /* method */
            ifnonnull 4
         3: .line 800
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         4: .line 804
      StackMap locals: jdk.dynalink.beans.DynamicMethod
      StackMap stack:
            aload 1 /* req */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getMethodGetterType:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljava/lang/invoke/MethodType;
            astore 3 /* type */
        start local 3 // java.lang.invoke.MethodType type
         5: .line 805
            aload 0 /* this */
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.linkerServices:Ljdk/dynalink/linker/LinkerServices;
         6: .line 806
            ldc Ljava/lang/Object;
            aload 2 /* method */
            invokestatic java.lang.invoke.MethodHandles.constant:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 3 /* type */
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aastore
         7: .line 805
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
         8: .line 806
            aload 3 /* type */
         9: .line 805
            invokeinterface jdk.dynalink.linker.LinkerServices.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        10: .line 806
            aload 3 /* type */
        11: .line 805
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getClassGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // jdk.dynalink.beans.DynamicMethod method
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0   12     1     req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            2   12     2  method  Ljdk/dynalink/beans/DynamicMethod;
            5   12     3    type  Ljava/lang/invoke/MethodType;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  static jdk.dynalink.beans.AbstractJavaLinker$MethodPair matchReturnTypes(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/beans/AbstractJavaLinker$MethodPair;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // java.lang.invoke.MethodHandle m1
        start local 1 // java.lang.invoke.MethodHandle m2
         0: .line 824
            aload 0 /* m1 */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 2 /* type1 */
        start local 2 // java.lang.invoke.MethodType type1
         1: .line 825
            aload 1 /* m2 */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 3 /* type2 */
        start local 3 // java.lang.invoke.MethodType type2
         2: .line 826
            aload 2 /* type1 */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
         3: .line 827
            aload 3 /* type2 */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
         4: .line 826
            invokestatic jdk.dynalink.internal.InternalTypeUtilities.getCommonLosslessConversionType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
            astore 4 /* commonRetType */
        start local 4 // java.lang.Class commonRetType
         5: .line 828
            new jdk.dynalink.beans.AbstractJavaLinker$MethodPair
            dup
         6: .line 829
            aload 0 /* m1 */
            aload 2 /* type1 */
            aload 4 /* commonRetType */
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
         7: .line 830
            aload 1 /* m2 */
            aload 3 /* type2 */
            aload 4 /* commonRetType */
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
         8: .line 828
            invokespecial jdk.dynalink.beans.AbstractJavaLinker$MethodPair.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
            areturn
        end local 4 // java.lang.Class commonRetType
        end local 3 // java.lang.invoke.MethodType type2
        end local 2 // java.lang.invoke.MethodType type1
        end local 1 // java.lang.invoke.MethodHandle m2
        end local 0 // java.lang.invoke.MethodHandle m1
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0             m1  Ljava/lang/invoke/MethodHandle;
            0    9     1             m2  Ljava/lang/invoke/MethodHandle;
            1    9     2          type1  Ljava/lang/invoke/MethodType;
            2    9     3          type2  Ljava/lang/invoke/MethodType;
            5    9     4  commonRetType  Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      m1    final
      m2    final

  private static void assertParameterCount(jdk.dynalink.CallSiteDescriptor, int);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.dynalink.CallSiteDescriptor descriptor
        start local 1 // int paramCount
         0: .line 834
            aload 0 /* descriptor */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iload 1 /* paramCount */
            if_icmpeq 2
         1: .line 835
            new java.lang.BootstrapMethodError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* descriptor */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getOperation:()Ljdk/dynalink/Operation;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " must have exactly "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* paramCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " parameters."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.BootstrapMethodError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 837
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int paramCount
        end local 0 // jdk.dynalink.CallSiteDescriptor descriptor
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  descriptor  Ljdk/dynalink/CallSiteDescriptor;
            0    3     1  paramCount  I
    MethodParameters:
            Name  Flags
      descriptor  final
      paramCount  final

  private java.lang.Object getPropertyGetterHandle(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.Object id
         0: .line 849
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertyGetters:Ljava/util/Map;
            aload 1 /* id */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object id
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    1     1    id  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      id    final

  private java.lang.invoke.MethodHandle getPropertySetterHandle(jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkerServices, java.lang.Object);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // jdk.dynalink.CallSiteDescriptor setterDescriptor
        start local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        start local 3 // java.lang.Object id
         0: .line 864
            aload 0 /* this */
            aload 1 /* setterDescriptor */
            aload 2 /* linkerServices */
            aload 3 /* id */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.propertySetters:Ljava/util/Map;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethodInvocation:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.Object id
        end local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 1 // jdk.dynalink.CallSiteDescriptor setterDescriptor
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    1     1  setterDescriptor  Ljdk/dynalink/CallSiteDescriptor;
            0    1     2    linkerServices  Ljdk/dynalink/linker/LinkerServices;
            0    1     3                id  Ljava/lang/Object;
    MethodParameters:
                  Name  Flags
      setterDescriptor  final
      linkerServices    final
      id                final

  private java.lang.Object getDynamicMethod(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.Object name
         0: .line 876
            aload 0 /* this */
            aload 1 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.methods:Ljava/util/Map;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethod:(Ljava/lang/String;Ljava/util/Map;)Ljdk/dynalink/beans/DynamicMethod;
            areturn
        end local 1 // java.lang.Object name
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    1     1  name  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      name  final

  jdk.dynalink.beans.DynamicMethod getDynamicMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/dynalink/beans/DynamicMethod;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.AbstractJavaLinker this
        start local 1 // java.lang.String name
         0: .line 887
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield jdk.dynalink.beans.AbstractJavaLinker.methods:Ljava/util/Map;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker.getDynamicMethod:(Ljava/lang/String;Ljava/util/Map;)Ljdk/dynalink/beans/DynamicMethod;
            areturn
        end local 1 // java.lang.String name
        end local 0 // jdk.dynalink.beans.AbstractJavaLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/AbstractJavaLinker;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  private static java.lang.reflect.Method getMostGenericGetter(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.reflect.Method getter
         0: .line 898
            aload 0 /* getter */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 0 /* getter */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            aload 0 /* getter */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getMostGenericGetter:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Method;
            areturn
        end local 0 // java.lang.reflect.Method getter
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  getter  Ljava/lang/reflect/Method;
    MethodParameters:
        Name  Flags
      getter  final

  private static java.lang.reflect.Method getMostGenericGetter(java.lang.String, java.lang.Class<?>, java.lang.Class<?>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // java.lang.String name
        start local 1 // java.lang.Class returnType
        start local 2 // java.lang.Class declaringClass
         0: .line 902
            aload 2 /* declaringClass */
            ifnonnull 2
         1: .line 903
            aconst_null
            areturn
         2: .line 906
      StackMap locals:
      StackMap stack:
            aload 2 /* declaringClass */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 8
      StackMap locals: java.lang.String java.lang.Class java.lang.Class top int int java.lang.Class[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* itf */
        start local 3 // java.lang.Class itf
         4: .line 907
            aload 0 /* name */
            aload 1 /* returnType */
            aload 3 /* itf */
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getMostGenericGetter:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 7 /* itfGetter */
        start local 7 // java.lang.reflect.Method itfGetter
         5: .line 908
            aload 7 /* itfGetter */
            ifnull 7
         6: .line 909
            aload 7 /* itfGetter */
            areturn
        end local 7 // java.lang.reflect.Method itfGetter
        end local 3 // java.lang.Class itf
         7: .line 906
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         8: iload 4
            iload 5
            if_icmplt 3
         9: .line 912
            aload 0 /* name */
            aload 1 /* returnType */
            aload 2 /* declaringClass */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            invokestatic jdk.dynalink.beans.AbstractJavaLinker.getMostGenericGetter:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 3 /* superGetter */
        start local 3 // java.lang.reflect.Method superGetter
        10: .line 913
            aload 3 /* superGetter */
            ifnull 12
        11: .line 914
            aload 3 /* superGetter */
            areturn
        12: .line 916
      StackMap locals: java.lang.String java.lang.Class java.lang.Class java.lang.reflect.Method
      StackMap stack:
            aload 2 /* declaringClass */
            invokestatic jdk.dynalink.beans.CheckRestrictedPackage.isRestrictedClass:(Ljava/lang/Class;)Z
            ifne 16
        13: .line 918
            aload 2 /* declaringClass */
            aload 0 /* name */
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
        14: areturn
        15: .line 919
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        16: .line 923
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.lang.reflect.Method superGetter
        end local 2 // java.lang.Class declaringClass
        end local 1 // java.lang.Class returnType
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            name  Ljava/lang/String;
            0   17     1      returnType  Ljava/lang/Class<*>;
            0   17     2  declaringClass  Ljava/lang/Class<*>;
            4    7     3             itf  Ljava/lang/Class<*>;
            5    7     7       itfGetter  Ljava/lang/reflect/Method;
           10   17     3     superGetter  Ljava/lang/reflect/Method;
      Exception table:
        from    to  target  type
          13    14      15  Class java.lang.NoSuchMethodException
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
    MethodParameters:
                Name  Flags
      name            final
      returnType      final
      declaringClass  final

  static int[] $SWITCH_TABLE$jdk$dynalink$beans$GuardedInvocationComponent$ValidationType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 122
            getstatic jdk.dynalink.beans.AbstractJavaLinker.$SWITCH_TABLE$jdk$dynalink$beans$GuardedInvocationComponent$ValidationType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.values:()[Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.EXACT_CLASS:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.INSTANCE_OF:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.IS_ARRAY:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.NONE:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.ordinal:()I
            iconst_1
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic jdk.dynalink.beans.AbstractJavaLinker.$SWITCH_TABLE$jdk$dynalink$beans$GuardedInvocationComponent$ValidationType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
}
SourceFile: "AbstractJavaLinker.java"
NestMembers:
  jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod  jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest  jdk.dynalink.beans.AbstractJavaLinker$MethodPair
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  private final AnnotatedDynamicMethod = jdk.dynalink.beans.AbstractJavaLinker$AnnotatedDynamicMethod of jdk.dynalink.beans.AbstractJavaLinker
  final ComponentLinkRequest = jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest of jdk.dynalink.beans.AbstractJavaLinker
  MethodPair = jdk.dynalink.beans.AbstractJavaLinker$MethodPair of jdk.dynalink.beans.AbstractJavaLinker
  final ValidationType = jdk.dynalink.beans.GuardedInvocationComponent$ValidationType of jdk.dynalink.beans.GuardedInvocationComponent