class jdk.dynalink.beans.BeanLinker extends jdk.dynalink.beans.AbstractJavaLinker implements jdk.dynalink.linker.TypeBasedGuardingDynamicLinker
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.dynalink.beans.BeanLinker
  super_class: jdk.dynalink.beans.AbstractJavaLinker
{
  private static final java.lang.invoke.MethodHandle GET_LIST_ELEMENT;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  private static volatile int[] $SWITCH_TABLE$jdk$dynalink$beans$BeanLinker$CollectionType;
    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=1, args_size=0
         0: .line 138
            getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
            ldc Ljava/util/List;
            ldc "get"
         1: .line 139
            ldc Ljava/lang/Object;
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
         2: .line 138
            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.BeanLinker.GET_LIST_ELEMENT:Ljava/lang/invoke/MethodHandle;
         3: .line 141
            getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
            ldc Ljava/util/Map;
            ldc "get"
         4: .line 142
            ldc Ljava/lang/Object;
            ldc Ljava/lang/Object;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
         5: .line 141
            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.BeanLinker.GET_MAP_ELEMENT:Ljava/lang/invoke/MethodHandle;
         6: .line 144
            ldc Ljava/util/List;
            invokestatic jdk.dynalink.linker.support.Guards.getInstanceOfGuard:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.BeanLinker.LIST_GUARD:Ljava/lang/invoke/MethodHandle;
         7: .line 145
            ldc Ljava/util/Map;
            invokestatic jdk.dynalink.linker.support.Guards.getInstanceOfGuard:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.BeanLinker.MAP_GUARD:Ljava/lang/invoke/MethodHandle;
         8: .line 150
            ldc Ljava/lang/Object;
            aconst_null
            invokestatic java.lang.invoke.MethodHandles.constant:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 0 /* constantNull */
        start local 0 // java.lang.invoke.MethodHandle constantNull
         9: .line 151
            aload 0 /* constantNull */
            iconst_1
            invokestatic jdk.dynalink.beans.BeanLinker.dropObjectArguments:(Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.BeanLinker.NULL_GETTER_1:Ljava/lang/invoke/MethodHandle;
        10: .line 152
            aload 0 /* constantNull */
            iconst_2
            invokestatic jdk.dynalink.beans.BeanLinker.dropObjectArguments:(Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.BeanLinker.NULL_GETTER_2:Ljava/lang/invoke/MethodHandle;
        end local 0 // java.lang.invoke.MethodHandle constantNull
        11: .line 238
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic jdk.dynalink.beans.BeanLinker.INVALID_NAME:Ljava/lang/Object;
        12: .line 394
            ldc Ljava/lang/Object;
            invokestatic jdk.dynalink.beans.BeanLinker.findRangeCheck:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.BeanLinker.RANGE_CHECK_ARRAY:Ljava/lang/invoke/MethodHandle;
        13: .line 395
            ldc Ljava/util/List;
            invokestatic jdk.dynalink.beans.BeanLinker.findRangeCheck:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.BeanLinker.RANGE_CHECK_LIST:Ljava/lang/invoke/MethodHandle;
        14: .line 396
            getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
            ldc Ljava/util/Map;
            ldc "containsKey"
        15: .line 397
            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;
        16: .line 396
            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.BeanLinker.CONTAINS_MAP:Ljava/lang/invoke/MethodHandle;
        17: .line 433
            getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
            ldc Ljava/util/List;
            ldc "set"
        18: .line 434
            ldc Ljava/lang/Object;
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        19: .line 433
            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.BeanLinker.SET_LIST_ELEMENT:Ljava/lang/invoke/MethodHandle;
        20: .line 436
            getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
            ldc Ljava/util/Map;
            ldc "put"
        21: .line 437
            ldc Ljava/lang/Object;
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        22: .line 436
            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.BeanLinker.PUT_MAP_ELEMENT:Ljava/lang/invoke/MethodHandle;
        23: .line 443
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            ldc "noOp"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_0
            anewarray java.lang.Class
            invokestatic jdk.dynalink.linker.support.Lookup.findOwnStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 0 /* noOp */
        start local 0 // java.lang.invoke.MethodHandle noOp
        24: .line 444
            aload 0 /* noOp */
            iconst_1
            invokestatic jdk.dynalink.beans.BeanLinker.dropObjectArguments:(Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.BeanLinker.NO_OP_1:Ljava/lang/invoke/MethodHandle;
        25: .line 445
            aload 0 /* noOp */
            iconst_2
            invokestatic jdk.dynalink.beans.BeanLinker.dropObjectArguments:(Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.BeanLinker.NO_OP_2:Ljava/lang/invoke/MethodHandle;
        26: .line 446
            aload 0 /* noOp */
            iconst_3
            invokestatic jdk.dynalink.beans.BeanLinker.dropObjectArguments:(Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.BeanLinker.NO_OP_3:Ljava/lang/invoke/MethodHandle;
        end local 0 // java.lang.invoke.MethodHandle noOp
        27: .line 488
            getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
            ldc Ljava/util/List;
            ldc "remove"
        28: .line 489
            ldc Ljava/lang/Object;
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        29: .line 488
            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.BeanLinker.REMOVE_LIST_ELEMENT:Ljava/lang/invoke/MethodHandle;
        30: .line 491
            getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
            ldc Ljava/util/Map;
            ldc "remove"
        31: .line 492
            ldc Ljava/lang/Object;
            ldc Ljava/lang/Object;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        32: .line 491
            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.BeanLinker.REMOVE_MAP_ELEMENT:Ljava/lang/invoke/MethodHandle;
        33: .line 520
            getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
            ldc Ljava/util/Collection;
            ldc "size"
        34: .line 521
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        35: .line 520
            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.BeanLinker.GET_COLLECTION_LENGTH:Ljava/lang/invoke/MethodHandle;
        36: .line 523
            getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
            ldc Ljava/util/Map;
            ldc "size"
        37: .line 524
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        38: .line 523
            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.BeanLinker.GET_MAP_LENGTH:Ljava/lang/invoke/MethodHandle;
        39: .line 526
            getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
            ldc Ljava/lang/reflect/Array;
            ldc "getLength"
        40: .line 527
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/Object;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        41: .line 526
            invokevirtual jdk.dynalink.linker.support.Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.dynalink.beans.BeanLinker.GET_ARRAY_LENGTH:Ljava/lang/invoke/MethodHandle;
        42: .line 527
            return
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            9   11     0  constantNull  Ljava/lang/invoke/MethodHandle;
           24   27     0          noOp  Ljava/lang/invoke/MethodHandle;

  void <init>(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.BeanLinker this
        start local 1 // java.lang.Class clazz
         0: .line 92
            aload 0 /* this */
            aload 1 /* clazz */
            aload 1 /* clazz */
            invokestatic jdk.dynalink.linker.support.Guards.getClassGuard:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            aload 1 /* clazz */
            invokestatic jdk.dynalink.linker.support.Guards.getInstanceOfGuard:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            invokespecial jdk.dynalink.beans.AbstractJavaLinker.<init>:(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
         1: .line 93
            aload 1 /* clazz */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 4
         2: .line 96
            aload 0 /* this */
            ldc "length"
            getstatic jdk.dynalink.beans.BeanLinker.GET_ARRAY_LENGTH:Ljava/lang/invoke/MethodHandle;
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.IS_ARRAY:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.BeanLinker.setPropertyGetter:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
         3: .line 97
            goto 9
      StackMap locals: jdk.dynalink.beans.BeanLinker java.lang.Class
      StackMap stack:
         4: ldc Ljava/util/Collection;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 7
         5: .line 98
            aload 0 /* this */
            ldc "length"
            getstatic jdk.dynalink.beans.BeanLinker.GET_COLLECTION_LENGTH:Ljava/lang/invoke/MethodHandle;
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.INSTANCE_OF:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.BeanLinker.setPropertyGetter:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
         6: .line 99
            goto 9
      StackMap locals:
      StackMap stack:
         7: ldc Ljava/util/Map;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 9
         8: .line 100
            aload 0 /* this */
            ldc "length"
            getstatic jdk.dynalink.beans.BeanLinker.GET_MAP_LENGTH:Ljava/lang/invoke/MethodHandle;
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.INSTANCE_OF:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            invokevirtual jdk.dynalink.beans.BeanLinker.setPropertyGetter:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
         9: .line 102
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Class clazz
        end local 0 // jdk.dynalink.beans.BeanLinker this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Ljdk/dynalink/beans/BeanLinker;
            0   10     1  clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
       Name  Flags
      clazz  final

  public boolean canLinkType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.BeanLinker this
        start local 1 // java.lang.Class type
         0: .line 106
            aload 1 /* type */
            aload 0 /* this */
            getfield jdk.dynalink.beans.BeanLinker.clazz:Ljava/lang/Class;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Class type
        end local 0 // jdk.dynalink.beans.BeanLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/dynalink/beans/BeanLinker;
            0    2     1  type  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      type  final

  jdk.dynalink.beans.FacetIntrospector createFacetIntrospector();
    descriptor: ()Ljdk/dynalink/beans/FacetIntrospector;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.dynalink.beans.BeanLinker this
         0: .line 111
            new jdk.dynalink.beans.BeanIntrospector
            dup
            aload 0 /* this */
            getfield jdk.dynalink.beans.BeanLinker.clazz:Ljava/lang/Class;
            invokespecial jdk.dynalink.beans.BeanIntrospector.<init>:(Ljava/lang/Class;)V
            areturn
        end local 0 // jdk.dynalink.beans.BeanLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/beans/BeanLinker;

  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.BeanLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 116
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.namespaces:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 117
            aconst_null
            areturn
         2: .line 119
      StackMap locals:
      StackMap stack:
            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
         3: .line 120
            aload 2 /* ns */
            getstatic jdk.dynalink.StandardNamespace.ELEMENT:Ljdk/dynalink/StandardNamespace;
            if_acmpne 11
         4: .line 121
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.baseOperation:Ljdk/dynalink/Operation;
            astore 3 /* op */
        start local 3 // jdk.dynalink.Operation op
         5: .line 122
            aload 3 /* op */
            getstatic jdk.dynalink.StandardOperation.GET:Ljdk/dynalink/StandardOperation;
            if_acmpne 7
         6: .line 123
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.popNamespace:()Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            invokevirtual jdk.dynalink.beans.BeanLinker.getElementGetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         7: .line 124
      StackMap locals: jdk.dynalink.Namespace jdk.dynalink.Operation
      StackMap stack:
            aload 3 /* op */
            getstatic jdk.dynalink.StandardOperation.SET:Ljdk/dynalink/StandardOperation;
            if_acmpne 9
         8: .line 125
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.popNamespace:()Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            invokevirtual jdk.dynalink.beans.BeanLinker.getElementSetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
         9: .line 126
      StackMap locals:
      StackMap stack:
            aload 3 /* op */
            getstatic jdk.dynalink.StandardOperation.REMOVE:Ljdk/dynalink/StandardOperation;
            if_acmpne 11
        10: .line 127
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.popNamespace:()Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            invokevirtual jdk.dynalink.beans.BeanLinker.getElementRemover:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 3 // jdk.dynalink.Operation op
        11: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            invokespecial jdk.dynalink.beans.AbstractJavaLinker.getGuardedInvocationComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 2 // jdk.dynalink.Namespace ns
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.BeanLinker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljdk/dynalink/beans/BeanLinker;
            0   12     1   req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            3   12     2    ns  Ljdk/dynalink/Namespace;
            5   11     3    op  Ljdk/dynalink/Operation;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  jdk.dynalink.beans.SingleDynamicMethod getConstructorMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/dynalink/beans/SingleDynamicMethod;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.dynalink.beans.BeanLinker this
        start local 1 // java.lang.String signature
         0: .line 135
            aconst_null
            areturn
        end local 1 // java.lang.String signature
        end local 0 // jdk.dynalink.beans.BeanLinker this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljdk/dynalink/beans/BeanLinker;
            0    1     1  signature  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      signature  final

  private static java.lang.invoke.MethodHandle dropObjectArguments(java.lang.invoke.MethodHandle, int);
    descriptor: (Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandle m
        start local 1 // int n
         0: .line 156
            aload 0 /* m */
            iconst_0
            iload 1 /* n */
            ldc Ljava/lang/Object;
            invokestatic java.util.Collections.nCopies:(ILjava/lang/Object;)Ljava/util/List;
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;ILjava/util/List;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // int n
        end local 0 // java.lang.invoke.MethodHandle m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     m  Ljava/lang/invoke/MethodHandle;
            0    1     1     n  I
    MethodParameters:
      Name  Flags
      m     final
      n     final

  private jdk.dynalink.beans.GuardedInvocationComponent getElementGetter(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.BeanLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 164
            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 165
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.name:Ljava/lang/Object;
            astore 3 /* name */
        start local 3 // java.lang.Object name
         2: .line 166
            aload 3 /* name */
            ifnull 3
            iconst_1
            goto 4
      StackMap locals: jdk.dynalink.CallSiteDescriptor java.lang.Object
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* isFixedKey */
        start local 4 // boolean isFixedKey
         5: .line 167
            aload 2 /* callSiteDescriptor */
            iload 4 /* isFixedKey */
            ifeq 6
            iconst_1
            goto 7
      StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int
      StackMap stack: jdk.dynalink.CallSiteDescriptor
         6: iconst_2
      StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int
      StackMap stack: jdk.dynalink.CallSiteDescriptor int
         7: invokestatic jdk.dynalink.beans.BeanLinker.assertParameterCount:(Ljdk/dynalink/CallSiteDescriptor;I)V
         8: .line 168
            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
         9: .line 169
            aload 2 /* callSiteDescriptor */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            astore 6 /* callSiteType */
        start local 6 // java.lang.invoke.MethodType callSiteType
        10: .line 170
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.BeanLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            astore 7 /* nextComponent */
        start local 7 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        11: .line 172
            aload 0 /* this */
        12: .line 173
            aload 6 /* callSiteType */
            aload 5 /* linkerServices */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/invoke/MethodHandles.arrayElementGetter(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; (6)
                  (Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            getstatic jdk.dynalink.beans.BeanLinker.GET_LIST_ELEMENT:Ljava/lang/invoke/MethodHandle;
            getstatic jdk.dynalink.beans.BeanLinker.GET_MAP_ELEMENT:Ljava/lang/invoke/MethodHandle;
        13: .line 172
            invokevirtual jdk.dynalink.beans.BeanLinker.guardedInvocationComponentAndCollectionType:(Ljava/lang/invoke/MethodType;Ljdk/dynalink/linker/LinkerServices;Ljava/util/function/Function;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/beans/BeanLinker$GuardedInvocationComponentAndCollectionType;
            astore 8 /* gicact */
        start local 8 // jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType gicact
        14: .line 175
            aload 8 /* gicact */
            ifnonnull 16
        15: .line 177
            aload 7 /* nextComponent */
            areturn
        16: .line 180
      StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType
      StackMap stack:
            aload 3 /* name */
            aload 8 /* gicact */
            getfield jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType.collectionType:Ljdk/dynalink/beans/BeanLinker$CollectionType;
            getstatic jdk.dynalink.beans.BeanLinker$CollectionType.MAP:Ljdk/dynalink/beans/BeanLinker$CollectionType;
            if_acmpne 17
            iconst_1
            goto 18
      StackMap locals:
      StackMap stack: java.lang.Object
        17: iconst_0
      StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType
      StackMap stack: java.lang.Object int
        18: aload 5 /* linkerServices */
            invokestatic jdk.dynalink.beans.BeanLinker.getTypedName:(Ljava/lang/Object;ZLjdk/dynalink/linker/LinkerServices;)Ljava/lang/Object;
            astore 9 /* typedName */
        start local 9 // java.lang.Object typedName
        19: .line 181
            aload 9 /* typedName */
            getstatic jdk.dynalink.beans.BeanLinker.INVALID_NAME:Ljava/lang/Object;
            if_acmpne 21
        20: .line 182
            aload 7 /* nextComponent */
            areturn
        21: .line 185
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 8 /* gicact */
            aload 6 /* callSiteType */
            aload 7 /* nextComponent */
        22: .line 186
            new jdk.dynalink.beans.BeanLinker$Binder
            dup
            aload 5 /* linkerServices */
            aload 6 /* callSiteType */
            aload 9 /* typedName */
            invokespecial jdk.dynalink.beans.BeanLinker$Binder.<init>:(Ljdk/dynalink/linker/LinkerServices;Ljava/lang/invoke/MethodType;Ljava/lang/Object;)V
            iload 4 /* isFixedKey */
            ifeq 23
            getstatic jdk.dynalink.beans.BeanLinker.NULL_GETTER_1:Ljava/lang/invoke/MethodHandle;
            goto 24
      StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType java.lang.Object
      StackMap stack: jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType java.lang.invoke.MethodType jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$Binder
        23: getstatic jdk.dynalink.beans.BeanLinker.NULL_GETTER_2:Ljava/lang/invoke/MethodHandle;
        24: .line 185
      StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType java.lang.Object
      StackMap stack: jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType java.lang.invoke.MethodType jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$Binder java.lang.invoke.MethodHandle
            invokestatic jdk.dynalink.beans.BeanLinker.guardComponentWithRangeCheck:(Ljdk/dynalink/beans/BeanLinker$GuardedInvocationComponentAndCollectionType;Ljava/lang/invoke/MethodType;Ljdk/dynalink/beans/GuardedInvocationComponent;Ljdk/dynalink/beans/BeanLinker$Binder;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 9 // java.lang.Object typedName
        end local 8 // jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType gicact
        end local 7 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        end local 6 // java.lang.invoke.MethodType callSiteType
        end local 5 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 4 // boolean isFixedKey
        end local 3 // java.lang.Object name
        end local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.BeanLinker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   25     0                this  Ljdk/dynalink/beans/BeanLinker;
            0   25     1                 req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            1   25     2  callSiteDescriptor  Ljdk/dynalink/CallSiteDescriptor;
            2   25     3                name  Ljava/lang/Object;
            5   25     4          isFixedKey  Z
            9   25     5      linkerServices  Ljdk/dynalink/linker/LinkerServices;
           10   25     6        callSiteType  Ljava/lang/invoke/MethodType;
           11   25     7       nextComponent  Ljdk/dynalink/beans/GuardedInvocationComponent;
           14   25     8              gicact  Ljdk/dynalink/beans/BeanLinker$GuardedInvocationComponentAndCollectionType;
           19   25     9           typedName  Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType guardedInvocationComponentAndCollectionType(java.lang.invoke.MethodType, jdk.dynalink.linker.LinkerServices, java.util.function.Function<java.lang.Class<?>, java.lang.invoke.MethodHandle>, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MethodType;Ljdk/dynalink/linker/LinkerServices;Ljava/util/function/Function;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/beans/BeanLinker$GuardedInvocationComponentAndCollectionType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // jdk.dynalink.beans.BeanLinker this
        start local 1 // java.lang.invoke.MethodType callSiteType
        start local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        start local 3 // java.util.function.Function arrayMethod
        start local 4 // java.lang.invoke.MethodHandle listMethod
        start local 5 // java.lang.invoke.MethodHandle mapMethod
         0: .line 202
            aload 1 /* callSiteType */
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            astore 6 /* declaredType */
        start local 6 // java.lang.Class declaredType
         1: .line 208
            aload 6 /* declaredType */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 6
            aload 3 /* arrayMethod */
            ifnull 6
         2: .line 209
            new jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType
            dup
         3: .line 210
            aload 3 /* arrayMethod */
            aload 6 /* declaredType */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.invoke.MethodHandle
            aload 2 /* linkerServices */
            invokestatic jdk.dynalink.beans.BeanLinker.createInternalFilteredGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
         4: .line 211
            getstatic jdk.dynalink.beans.BeanLinker$CollectionType.ARRAY:Ljdk/dynalink/beans/BeanLinker$CollectionType;
         5: .line 209
            invokespecial jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType.<init>:(Ljdk/dynalink/beans/GuardedInvocationComponent;Ljdk/dynalink/beans/BeanLinker$CollectionType;)V
            areturn
         6: .line 212
      StackMap locals: java.lang.Class
      StackMap stack:
            ldc Ljava/util/List;
            aload 6 /* declaredType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 11
         7: .line 213
            new jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType
            dup
         8: .line 214
            aload 4 /* listMethod */
            aload 2 /* linkerServices */
            invokestatic jdk.dynalink.beans.BeanLinker.createInternalFilteredGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
         9: .line 215
            getstatic jdk.dynalink.beans.BeanLinker$CollectionType.LIST:Ljdk/dynalink/beans/BeanLinker$CollectionType;
        10: .line 213
            invokespecial jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType.<init>:(Ljdk/dynalink/beans/GuardedInvocationComponent;Ljdk/dynalink/beans/BeanLinker$CollectionType;)V
            areturn
        11: .line 216
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/Map;
            aload 6 /* declaredType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 16
        12: .line 217
            new jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType
            dup
        13: .line 218
            aload 5 /* mapMethod */
            aload 2 /* linkerServices */
            invokestatic jdk.dynalink.beans.BeanLinker.createInternalFilteredGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
        14: .line 219
            getstatic jdk.dynalink.beans.BeanLinker$CollectionType.MAP:Ljdk/dynalink/beans/BeanLinker$CollectionType;
        15: .line 217
            invokespecial jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType.<init>:(Ljdk/dynalink/beans/GuardedInvocationComponent;Ljdk/dynalink/beans/BeanLinker$CollectionType;)V
            areturn
        16: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.dynalink.beans.BeanLinker.clazz:Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 21
            aload 3 /* arrayMethod */
            ifnull 21
        17: .line 221
            new jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType
            dup
        18: .line 222
            aload 0 /* this */
            aload 2 /* linkerServices */
            aload 3 /* arrayMethod */
            aload 0 /* this */
            getfield jdk.dynalink.beans.BeanLinker.clazz:Ljava/lang/Class;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.invoke.MethodHandle
            invokeinterface jdk.dynalink.linker.LinkerServices.filterInternalObjects:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            aload 1 /* callSiteType */
            invokevirtual jdk.dynalink.beans.BeanLinker.getClassGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
        19: .line 223
            getstatic jdk.dynalink.beans.BeanLinker$CollectionType.ARRAY:Ljdk/dynalink/beans/BeanLinker$CollectionType;
        20: .line 221
            invokespecial jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType.<init>:(Ljdk/dynalink/beans/GuardedInvocationComponent;Ljdk/dynalink/beans/BeanLinker$CollectionType;)V
            areturn
        21: .line 224
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/List;
            aload 0 /* this */
            getfield jdk.dynalink.beans.BeanLinker.clazz:Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 28
        22: .line 225
            new jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType
            dup
        23: .line 226
            aload 4 /* listMethod */
            getstatic jdk.dynalink.beans.BeanLinker.LIST_GUARD:Ljava/lang/invoke/MethodHandle;
            aload 1 /* callSiteType */
            invokestatic jdk.dynalink.linker.support.Guards.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        24: .line 227
            ldc Ljava/util/List;
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.INSTANCE_OF:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            aload 2 /* linkerServices */
        25: .line 226
            invokestatic jdk.dynalink.beans.BeanLinker.createInternalFilteredGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
        26: .line 228
            getstatic jdk.dynalink.beans.BeanLinker$CollectionType.LIST:Ljdk/dynalink/beans/BeanLinker$CollectionType;
        27: .line 225
            invokespecial jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType.<init>:(Ljdk/dynalink/beans/GuardedInvocationComponent;Ljdk/dynalink/beans/BeanLinker$CollectionType;)V
            areturn
        28: .line 229
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/Map;
            aload 0 /* this */
            getfield jdk.dynalink.beans.BeanLinker.clazz:Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 35
        29: .line 230
            new jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType
            dup
        30: .line 231
            aload 5 /* mapMethod */
            getstatic jdk.dynalink.beans.BeanLinker.MAP_GUARD:Ljava/lang/invoke/MethodHandle;
            aload 1 /* callSiteType */
            invokestatic jdk.dynalink.linker.support.Guards.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        31: .line 232
            ldc Ljava/util/Map;
            getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.INSTANCE_OF:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            aload 2 /* linkerServices */
        32: .line 231
            invokestatic jdk.dynalink.beans.BeanLinker.createInternalFilteredGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
        33: .line 233
            getstatic jdk.dynalink.beans.BeanLinker$CollectionType.MAP:Ljdk/dynalink/beans/BeanLinker$CollectionType;
        34: .line 230
            invokespecial jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType.<init>:(Ljdk/dynalink/beans/GuardedInvocationComponent;Ljdk/dynalink/beans/BeanLinker$CollectionType;)V
            areturn
        35: .line 235
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 6 // java.lang.Class declaredType
        end local 5 // java.lang.invoke.MethodHandle mapMethod
        end local 4 // java.lang.invoke.MethodHandle listMethod
        end local 3 // java.util.function.Function arrayMethod
        end local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 1 // java.lang.invoke.MethodType callSiteType
        end local 0 // jdk.dynalink.beans.BeanLinker this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   36     0            this  Ljdk/dynalink/beans/BeanLinker;
            0   36     1    callSiteType  Ljava/lang/invoke/MethodType;
            0   36     2  linkerServices  Ljdk/dynalink/linker/LinkerServices;
            0   36     3     arrayMethod  Ljava/util/function/Function<Ljava/lang/Class<*>;Ljava/lang/invoke/MethodHandle;>;
            0   36     4      listMethod  Ljava/lang/invoke/MethodHandle;
            0   36     5       mapMethod  Ljava/lang/invoke/MethodHandle;
            1   36     6    declaredType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/invoke/MethodType;Ljdk/dynalink/linker/LinkerServices;Ljava/util/function/Function<Ljava/lang/Class<*>;Ljava/lang/invoke/MethodHandle;>;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/beans/BeanLinker$GuardedInvocationComponentAndCollectionType;
    MethodParameters:
                Name  Flags
      callSiteType    final
      linkerServices  final
      arrayMethod     final
      listMethod      final
      mapMethod       final

  private static java.lang.Object getTypedName(java.lang.Object, boolean, jdk.dynalink.linker.LinkerServices);
    descriptor: (Ljava/lang/Object;ZLjdk/dynalink/linker/LinkerServices;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // java.lang.Object name
        start local 1 // boolean isMap
        start local 2 // jdk.dynalink.linker.LinkerServices linkerServices
         0: .line 242
            iload 1 /* isMap */
            ifne 5
            aload 0 /* name */
            ifnull 5
         1: .line 243
            aload 0 /* name */
            aload 2 /* linkerServices */
            invokestatic jdk.dynalink.beans.BeanLinker.convertKeyToInteger:(Ljava/lang/Object;Ljdk/dynalink/linker/LinkerServices;)Ljava/lang/Integer;
            astore 3 /* integer */
        start local 3 // java.lang.Integer integer
         2: .line 244
            aload 3 /* integer */
            ifnull 3
            aload 3 /* integer */
            invokevirtual java.lang.Integer.intValue:()I
            ifge 4
         3: .line 247
      StackMap locals: java.lang.Integer
      StackMap stack:
            getstatic jdk.dynalink.beans.BeanLinker.INVALID_NAME:Ljava/lang/Object;
            areturn
         4: .line 249
      StackMap locals:
      StackMap stack:
            aload 3 /* integer */
            areturn
        end local 3 // java.lang.Integer integer
         5: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* name */
            areturn
        end local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 1 // boolean isMap
        end local 0 // java.lang.Object name
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            name  Ljava/lang/Object;
            0    6     1           isMap  Z
            0    6     2  linkerServices  Ljdk/dynalink/linker/LinkerServices;
            2    5     3         integer  Ljava/lang/Integer;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                Name  Flags
      name            final
      isMap           final
      linkerServices  final

  private static jdk.dynalink.beans.GuardedInvocationComponent guardComponentWithRangeCheck(jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType, java.lang.invoke.MethodType, jdk.dynalink.beans.GuardedInvocationComponent, jdk.dynalink.beans.BeanLinker$Binder, java.lang.invoke.MethodHandle);
    descriptor: (Ljdk/dynalink/beans/BeanLinker$GuardedInvocationComponentAndCollectionType;Ljava/lang/invoke/MethodType;Ljdk/dynalink/beans/GuardedInvocationComponent;Ljdk/dynalink/beans/BeanLinker$Binder;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType gicact
        start local 1 // java.lang.invoke.MethodType callSiteType
        start local 2 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        start local 3 // jdk.dynalink.beans.BeanLinker$Binder binder
        start local 4 // java.lang.invoke.MethodHandle noOp
         0: .line 259
            invokestatic jdk.dynalink.beans.BeanLinker.$SWITCH_TABLE$jdk$dynalink$beans$BeanLinker$CollectionType:()[I
            aload 0 /* gicact */
            getfield jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType.collectionType:Ljdk/dynalink/beans/BeanLinker$CollectionType;
            invokevirtual jdk.dynalink.beans.BeanLinker$CollectionType.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 5
                    2: 1
                    3: 3
              default: 7
          }
         1: .line 261
      StackMap locals:
      StackMap stack:
            aload 3 /* binder */
            getstatic jdk.dynalink.beans.BeanLinker.RANGE_CHECK_LIST:Ljava/lang/invoke/MethodHandle;
            invokevirtual jdk.dynalink.beans.BeanLinker$Binder.convertArgToNumber:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* checkGuard */
        start local 5 // java.lang.invoke.MethodHandle checkGuard
         2: .line 262
            goto 8
        end local 5 // java.lang.invoke.MethodHandle checkGuard
         3: .line 264
      StackMap locals:
      StackMap stack:
            aload 3 /* binder */
            getfield jdk.dynalink.beans.BeanLinker$Binder.linkerServices:Ljdk/dynalink/linker/LinkerServices;
            getstatic jdk.dynalink.beans.BeanLinker.CONTAINS_MAP:Ljava/lang/invoke/MethodHandle;
            invokeinterface jdk.dynalink.linker.LinkerServices.filterInternalObjects:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* checkGuard */
        start local 5 // java.lang.invoke.MethodHandle checkGuard
         4: .line 265
            goto 8
        end local 5 // java.lang.invoke.MethodHandle checkGuard
         5: .line 267
      StackMap locals:
      StackMap stack:
            aload 3 /* binder */
            getstatic jdk.dynalink.beans.BeanLinker.RANGE_CHECK_ARRAY:Ljava/lang/invoke/MethodHandle;
            invokevirtual jdk.dynalink.beans.BeanLinker$Binder.convertArgToNumber:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* checkGuard */
        start local 5 // java.lang.invoke.MethodHandle checkGuard
         6: .line 268
            goto 8
        end local 5 // java.lang.invoke.MethodHandle checkGuard
         7: .line 270
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        start local 5 // java.lang.invoke.MethodHandle checkGuard
         8: .line 275
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 2 /* nextComponent */
            ifnull 11
         9: .line 276
            aload 2 /* nextComponent */
            astore 6 /* finalNextComponent */
        start local 6 // jdk.dynalink.beans.GuardedInvocationComponent finalNextComponent
        10: .line 277
            goto 12
        end local 6 // jdk.dynalink.beans.GuardedInvocationComponent finalNextComponent
        11: .line 278
      StackMap locals:
      StackMap stack:
            aload 4 /* noOp */
            aload 1 /* callSiteType */
            aload 3 /* binder */
            getfield jdk.dynalink.beans.BeanLinker$Binder.linkerServices:Ljdk/dynalink/linker/LinkerServices;
            invokestatic jdk.dynalink.beans.BeanLinker.createGuardedInvocationComponentAsType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            astore 6 /* finalNextComponent */
        start local 6 // jdk.dynalink.beans.GuardedInvocationComponent finalNextComponent
        12: .line 281
      StackMap locals: jdk.dynalink.beans.GuardedInvocationComponent
      StackMap stack:
            aload 0 /* gicact */
            getfield jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType.gic:Ljdk/dynalink/beans/GuardedInvocationComponent;
            astore 7 /* gic */
        start local 7 // jdk.dynalink.beans.GuardedInvocationComponent gic
        13: .line 282
            aload 7 /* gic */
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getGuardedInvocation:()Ljdk/dynalink/linker/GuardedInvocation;
            astore 8 /* gi */
        start local 8 // jdk.dynalink.linker.GuardedInvocation gi
        14: .line 284
            aload 3 /* binder */
            aload 8 /* gi */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
            invokevirtual jdk.dynalink.beans.BeanLinker$Binder.bind:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
        15: .line 285
            aload 6 /* finalNextComponent */
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getGuardedInvocation:()Ljdk/dynalink/linker/GuardedInvocation;
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
        16: .line 284
            invokestatic jdk.dynalink.beans.BeanLinker.matchReturnTypes:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/beans/AbstractJavaLinker$MethodPair;
            astore 9 /* matchedInvocations */
        start local 9 // jdk.dynalink.beans.AbstractJavaLinker$MethodPair matchedInvocations
        17: .line 287
            aload 6 /* finalNextComponent */
            aload 9 /* matchedInvocations */
            aload 3 /* binder */
            aload 5 /* checkGuard */
            invokevirtual jdk.dynalink.beans.BeanLinker$Binder.bindTest:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            invokevirtual jdk.dynalink.beans.AbstractJavaLinker$MethodPair.guardWithTest:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            aload 8 /* gi */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getGuard:()Ljava/lang/invoke/MethodHandle;
        18: .line 288
            aload 7 /* gic */
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getValidatorClass:()Ljava/lang/Class;
            aload 7 /* gic */
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getValidationType:()Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
        19: .line 287
            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 // jdk.dynalink.beans.AbstractJavaLinker$MethodPair matchedInvocations
        end local 8 // jdk.dynalink.linker.GuardedInvocation gi
        end local 7 // jdk.dynalink.beans.GuardedInvocationComponent gic
        end local 6 // jdk.dynalink.beans.GuardedInvocationComponent finalNextComponent
        end local 5 // java.lang.invoke.MethodHandle checkGuard
        end local 4 // java.lang.invoke.MethodHandle noOp
        end local 3 // jdk.dynalink.beans.BeanLinker$Binder binder
        end local 2 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        end local 1 // java.lang.invoke.MethodType callSiteType
        end local 0 // jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType gicact
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   20     0              gicact  Ljdk/dynalink/beans/BeanLinker$GuardedInvocationComponentAndCollectionType;
            0   20     1        callSiteType  Ljava/lang/invoke/MethodType;
            0   20     2       nextComponent  Ljdk/dynalink/beans/GuardedInvocationComponent;
            0   20     3              binder  Ljdk/dynalink/beans/BeanLinker$Binder;
            0   20     4                noOp  Ljava/lang/invoke/MethodHandle;
            2    3     5          checkGuard  Ljava/lang/invoke/MethodHandle;
            4    5     5          checkGuard  Ljava/lang/invoke/MethodHandle;
            6    7     5          checkGuard  Ljava/lang/invoke/MethodHandle;
            8   20     5          checkGuard  Ljava/lang/invoke/MethodHandle;
           10   11     6  finalNextComponent  Ljdk/dynalink/beans/GuardedInvocationComponent;
           12   20     6  finalNextComponent  Ljdk/dynalink/beans/GuardedInvocationComponent;
           13   20     7                 gic  Ljdk/dynalink/beans/GuardedInvocationComponent;
           14   20     8                  gi  Ljdk/dynalink/linker/GuardedInvocation;
           17   20     9  matchedInvocations  Ljdk/dynalink/beans/AbstractJavaLinker$MethodPair;
    MethodParameters:
               Name  Flags
      gicact         final
      callSiteType   final
      nextComponent  final
      binder         final
      noOp           final

  private static jdk.dynalink.beans.GuardedInvocationComponent createInternalFilteredGuardedInvocationComponent(java.lang.invoke.MethodHandle, jdk.dynalink.linker.LinkerServices);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandle invocation
        start local 1 // jdk.dynalink.linker.LinkerServices linkerServices
         0: .line 293
            new jdk.dynalink.beans.GuardedInvocationComponent
            dup
            aload 1 /* linkerServices */
            aload 0 /* invocation */
            invokeinterface jdk.dynalink.linker.LinkerServices.filterInternalObjects:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            invokespecial jdk.dynalink.beans.GuardedInvocationComponent.<init>:(Ljava/lang/invoke/MethodHandle;)V
            areturn
        end local 1 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 0 // java.lang.invoke.MethodHandle invocation
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0      invocation  Ljava/lang/invoke/MethodHandle;
            0    1     1  linkerServices  Ljdk/dynalink/linker/LinkerServices;
    MethodParameters:
                Name  Flags
      invocation      final
      linkerServices  final

  private static jdk.dynalink.beans.GuardedInvocationComponent createGuardedInvocationComponentAsType(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, jdk.dynalink.linker.LinkerServices);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.invoke.MethodHandle invocation
        start local 1 // java.lang.invoke.MethodType fromType
        start local 2 // jdk.dynalink.linker.LinkerServices linkerServices
         0: .line 298
            new jdk.dynalink.beans.GuardedInvocationComponent
            dup
            aload 2 /* linkerServices */
            aload 0 /* invocation */
            aload 1 /* fromType */
            invokeinterface jdk.dynalink.linker.LinkerServices.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            invokespecial jdk.dynalink.beans.GuardedInvocationComponent.<init>:(Ljava/lang/invoke/MethodHandle;)V
            areturn
        end local 2 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 1 // java.lang.invoke.MethodType fromType
        end local 0 // java.lang.invoke.MethodHandle invocation
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0      invocation  Ljava/lang/invoke/MethodHandle;
            0    1     1        fromType  Ljava/lang/invoke/MethodType;
            0    1     2  linkerServices  Ljdk/dynalink/linker/LinkerServices;
    MethodParameters:
                Name  Flags
      invocation      final
      fromType        final
      linkerServices  final

  private static jdk.dynalink.beans.GuardedInvocationComponent createInternalFilteredGuardedInvocationComponent(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.Class<?>, jdk.dynalink.beans.GuardedInvocationComponent$ValidationType, jdk.dynalink.linker.LinkerServices);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // java.lang.invoke.MethodHandle invocation
        start local 1 // java.lang.invoke.MethodHandle guard
        start local 2 // java.lang.Class validatorClass
        start local 3 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
        start local 4 // jdk.dynalink.linker.LinkerServices linkerServices
         0: .line 304
            new jdk.dynalink.beans.GuardedInvocationComponent
            dup
            aload 4 /* linkerServices */
            aload 0 /* invocation */
            invokeinterface jdk.dynalink.linker.LinkerServices.filterInternalObjects:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            aload 1 /* guard */
         1: .line 305
            aload 2 /* validatorClass */
            aload 3 /* validationType */
         2: .line 304
            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 4 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 3 // jdk.dynalink.beans.GuardedInvocationComponent$ValidationType validationType
        end local 2 // java.lang.Class validatorClass
        end local 1 // java.lang.invoke.MethodHandle guard
        end local 0 // java.lang.invoke.MethodHandle invocation
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0      invocation  Ljava/lang/invoke/MethodHandle;
            0    3     1           guard  Ljava/lang/invoke/MethodHandle;
            0    3     2  validatorClass  Ljava/lang/Class<*>;
            0    3     3  validationType  Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
            0    3     4  linkerServices  Ljdk/dynalink/linker/LinkerServices;
    Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    MethodParameters:
                Name  Flags
      invocation      final
      guard           final
      validatorClass  final
      validationType  final
      linkerServices  final

  private static java.lang.Integer convertKeyToInteger(java.lang.Object, jdk.dynalink.linker.LinkerServices);
    descriptor: (Ljava/lang/Object;Ljdk/dynalink/linker/LinkerServices;)Ljava/lang/Integer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.lang.Object fixedKey
        start local 1 // jdk.dynalink.linker.LinkerServices linkerServices
         0: .line 309
            aload 0 /* fixedKey */
            instanceof java.lang.Integer
            ifeq 2
         1: .line 310
            aload 0 /* fixedKey */
            checkcast java.lang.Integer
            areturn
         2: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* fixedKey */
            instanceof java.lang.Number
            ifeq 5
         3: .line 315
            aload 0 /* fixedKey */
            checkcast java.lang.Number
            astore 2 /* n */
        start local 2 // java.lang.Number n
         4: .line 316
            goto 23
        end local 2 // java.lang.Number n
         5: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* fixedKey */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 3 /* keyClass */
        start local 3 // java.lang.Class keyClass
         6: .line 318
            aload 1 /* linkerServices */
            aload 3 /* keyClass */
            ldc Ljava/lang/Number;
            invokeinterface jdk.dynalink.linker.LinkerServices.canConvert:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifeq 17
         7: .line 321
            aload 1 /* linkerServices */
            aload 3 /* keyClass */
            ldc Ljava/lang/Number;
            invokeinterface jdk.dynalink.linker.LinkerServices.getTypeConverter:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            aload 0 /* fixedKey */
            invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* val */
        start local 4 // java.lang.Object val
         8: .line 322
            goto 13
        end local 4 // java.lang.Object val
      StackMap locals: java.lang.Object jdk.dynalink.linker.LinkerServices top java.lang.Class
      StackMap stack: java.lang.Throwable
         9: astore 5 /* e */
        start local 5 // java.lang.Throwable e
        10: .line 323
            aload 5 /* e */
            athrow
        end local 5 // java.lang.Throwable e
        11: .line 324
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* t */
        start local 5 // java.lang.Throwable t
        12: .line 325
            new java.lang.RuntimeException
            dup
            aload 5 /* t */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Throwable t
        start local 4 // java.lang.Object val
        13: .line 327
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* val */
            instanceof java.lang.Number
            ifne 15
        14: .line 328
            aconst_null
            areturn
        15: .line 330
      StackMap locals:
      StackMap stack:
            aload 4 /* val */
            checkcast java.lang.Number
            astore 2 /* n */
        end local 4 // java.lang.Object val
        start local 2 // java.lang.Number n
        16: .line 331
            goto 23
        end local 2 // java.lang.Number n
      StackMap locals:
      StackMap stack:
        17: aload 0 /* fixedKey */
            instanceof java.lang.String
            ifeq 22
        18: .line 333
            aload 0 /* fixedKey */
            checkcast java.lang.String
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
        19: areturn
        20: .line 334
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        21: .line 336
            aconst_null
            areturn
        22: .line 339
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.lang.Class keyClass
        start local 2 // java.lang.Number n
        23: .line 343
      StackMap locals: java.lang.Object jdk.dynalink.linker.LinkerServices java.lang.Number
      StackMap stack:
            aload 2 /* n */
            instanceof java.lang.Integer
            ifeq 25
        24: .line 344
            aload 2 /* n */
            checkcast java.lang.Integer
            areturn
        25: .line 346
      StackMap locals:
      StackMap stack:
            aload 2 /* n */
            invokevirtual java.lang.Number.intValue:()I
            istore 3 /* intIndex */
        start local 3 // int intIndex
        26: .line 347
            aload 2 /* n */
            invokevirtual java.lang.Number.doubleValue:()D
            dstore 4 /* doubleValue */
        start local 4 // double doubleValue
        27: .line 348
            iload 3 /* intIndex */
            i2d
            dload 4 /* doubleValue */
            dcmpl
            ifeq 29
            dload 4 /* doubleValue */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifne 29
        28: .line 349
            aconst_null
            areturn
        29: .line 351
      StackMap locals: int double
      StackMap stack:
            iload 3 /* intIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 4 // double doubleValue
        end local 3 // int intIndex
        end local 2 // java.lang.Number n
        end local 1 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 0 // java.lang.Object fixedKey
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   30     0        fixedKey  Ljava/lang/Object;
            0   30     1  linkerServices  Ljdk/dynalink/linker/LinkerServices;
            4    5     2               n  Ljava/lang/Number;
           16   17     2               n  Ljava/lang/Number;
           23   30     2               n  Ljava/lang/Number;
            6   23     3        keyClass  Ljava/lang/Class<*>;
            8    9     4             val  Ljava/lang/Object;
           13   16     4             val  Ljava/lang/Object;
           10   11     5               e  Ljava/lang/Throwable;
           12   13     5               t  Ljava/lang/Throwable;
           26   30     3        intIndex  I
           27   30     4     doubleValue  D
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.Exception
           7     8       9  Class java.lang.Error
           7     8      11  Class java.lang.Throwable
          18    19      20  Class java.lang.NumberFormatException
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                Name  Flags
      fixedKey        final
      linkerServices  final

  private static java.lang.invoke.MethodHandle findRangeCheck(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // java.lang.Class collectionType
         0: .line 400
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            ldc "rangeCheck"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            aload 0 /* collectionType */
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.dynalink.linker.support.Lookup.findOwnStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 0 // java.lang.Class collectionType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  collectionType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      collectionType  final

  private static boolean rangeCheck(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.Object array
        start local 1 // java.lang.Object index
         0: .line 405
            aload 1 /* index */
            instanceof java.lang.Number
            ifne 2
         1: .line 406
            iconst_0
            ireturn
         2: .line 408
      StackMap locals:
      StackMap stack:
            aload 1 /* index */
            checkcast java.lang.Number
            astore 2 /* n */
        start local 2 // java.lang.Number n
         3: .line 409
            aload 2 /* n */
            invokevirtual java.lang.Number.intValue:()I
            istore 3 /* intIndex */
        start local 3 // int intIndex
         4: .line 410
            iload 3 /* intIndex */
            i2d
            aload 2 /* n */
            invokevirtual java.lang.Number.doubleValue:()D
            dcmpl
            ifeq 6
         5: .line 411
            iconst_0
            ireturn
         6: .line 413
      StackMap locals: java.lang.Number int
      StackMap stack:
            iload 3 /* intIndex */
            iflt 7
            iload 3 /* intIndex */
            aload 0 /* array */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            if_icmpge 7
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 3 // int intIndex
        end local 2 // java.lang.Number n
        end local 1 // java.lang.Object index
        end local 0 // java.lang.Object array
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0     array  Ljava/lang/Object;
            0    8     1     index  Ljava/lang/Object;
            3    8     2         n  Ljava/lang/Number;
            4    8     3  intIndex  I
    MethodParameters:
       Name  Flags
      array  final
      index  final

  private static boolean rangeCheck(java.util.List<?>, );
    descriptor: (Ljava/util/List;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.util.List list
        start local 1 // java.lang.Object index
         0: .line 418
            aload 1 /* index */
            instanceof java.lang.Number
            ifne 2
         1: .line 419
            iconst_0
            ireturn
         2: .line 421
      StackMap locals:
      StackMap stack:
            aload 1 /* index */
            checkcast java.lang.Number
            astore 2 /* n */
        start local 2 // java.lang.Number n
         3: .line 422
            aload 2 /* n */
            invokevirtual java.lang.Number.intValue:()I
            istore 3 /* intIndex */
        start local 3 // int intIndex
         4: .line 423
            iload 3 /* intIndex */
            i2d
            aload 2 /* n */
            invokevirtual java.lang.Number.doubleValue:()D
            dcmpl
            ifeq 6
         5: .line 424
            iconst_0
            ireturn
         6: .line 426
      StackMap locals: java.lang.Number int
      StackMap stack:
            iload 3 /* intIndex */
            iflt 7
            iload 3 /* intIndex */
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            if_icmpge 7
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 3 // int intIndex
        end local 2 // java.lang.Number n
        end local 1 // java.lang.Object index
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      list  Ljava/util/List<*>;
            0    8     1     index  Ljava/lang/Object;
            3    8     2         n  Ljava/lang/Number;
            4    8     3  intIndex  I
    Signature: (Ljava/util/List<*>;Ljava/lang/Object;)Z
    MethodParameters:
       Name  Flags
      list   final
      index  final

  private static void noOp();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 431
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private jdk.dynalink.beans.GuardedInvocationComponent getElementSetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
    descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=15, args_size=2
        start local 0 // jdk.dynalink.beans.BeanLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 450
            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 451
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.name:Ljava/lang/Object;
            astore 3 /* name */
        start local 3 // java.lang.Object name
         2: .line 452
            aload 3 /* name */
            ifnull 3
            iconst_1
            goto 4
      StackMap locals: jdk.dynalink.CallSiteDescriptor java.lang.Object
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* isFixedKey */
        start local 4 // boolean isFixedKey
         5: .line 453
            aload 2 /* callSiteDescriptor */
            iload 4 /* isFixedKey */
            ifeq 6
            iconst_2
            goto 7
      StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int
      StackMap stack: jdk.dynalink.CallSiteDescriptor
         6: iconst_3
      StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int
      StackMap stack: jdk.dynalink.CallSiteDescriptor int
         7: invokestatic jdk.dynalink.beans.BeanLinker.assertParameterCount:(Ljdk/dynalink/CallSiteDescriptor;I)V
         8: .line 454
            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
         9: .line 455
            aload 2 /* callSiteDescriptor */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            astore 6 /* callSiteType */
        start local 6 // java.lang.invoke.MethodType callSiteType
        10: .line 457
            aload 0 /* this */
        11: .line 458
            aload 6 /* callSiteType */
            aload 5 /* linkerServices */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/invoke/MethodHandles.arrayElementSetter(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; (6)
                  (Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            getstatic jdk.dynalink.beans.BeanLinker.SET_LIST_ELEMENT:Ljava/lang/invoke/MethodHandle;
            getstatic jdk.dynalink.beans.BeanLinker.PUT_MAP_ELEMENT:Ljava/lang/invoke/MethodHandle;
        12: .line 457
            invokevirtual jdk.dynalink.beans.BeanLinker.guardedInvocationComponentAndCollectionType:(Ljava/lang/invoke/MethodType;Ljdk/dynalink/linker/LinkerServices;Ljava/util/function/Function;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/beans/BeanLinker$GuardedInvocationComponentAndCollectionType;
            astore 7 /* gicact */
        start local 7 // jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType gicact
        13: .line 460
            aload 7 /* gicact */
            ifnonnull 15
        14: .line 461
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.BeanLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        15: .line 464
      StackMap locals: jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType
      StackMap stack:
            aload 7 /* gicact */
            getfield jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType.collectionType:Ljdk/dynalink/beans/BeanLinker$CollectionType;
            getstatic jdk.dynalink.beans.BeanLinker$CollectionType.MAP:Ljdk/dynalink/beans/BeanLinker$CollectionType;
            if_acmpne 16
            iconst_1
            goto 17
      StackMap locals:
      StackMap stack:
        16: iconst_0
      StackMap locals:
      StackMap stack: int
        17: istore 8 /* isMap */
        start local 8 // boolean isMap
        18: .line 469
            iload 8 /* isMap */
            ifeq 19
            aconst_null
            goto 20
      StackMap locals: int
      StackMap stack:
        19: aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.BeanLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
      StackMap locals:
      StackMap stack: jdk.dynalink.beans.GuardedInvocationComponent
        20: astore 9 /* nextComponent */
        start local 9 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        21: .line 471
            aload 3 /* name */
            iload 8 /* isMap */
            aload 5 /* linkerServices */
            invokestatic jdk.dynalink.beans.BeanLinker.getTypedName:(Ljava/lang/Object;ZLjdk/dynalink/linker/LinkerServices;)Ljava/lang/Object;
            astore 10 /* typedName */
        start local 10 // java.lang.Object typedName
        22: .line 472
            aload 10 /* typedName */
            getstatic jdk.dynalink.beans.BeanLinker.INVALID_NAME:Ljava/lang/Object;
            if_acmpne 24
        23: .line 473
            aload 9 /* nextComponent */
            areturn
        24: .line 476
      StackMap locals: jdk.dynalink.beans.GuardedInvocationComponent java.lang.Object
      StackMap stack:
            aload 7 /* gicact */
            getfield jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType.gic:Ljdk/dynalink/beans/GuardedInvocationComponent;
            astore 11 /* gic */
        start local 11 // jdk.dynalink.beans.GuardedInvocationComponent gic
        25: .line 477
            aload 11 /* gic */
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getGuardedInvocation:()Ljdk/dynalink/linker/GuardedInvocation;
            astore 12 /* gi */
        start local 12 // jdk.dynalink.linker.GuardedInvocation gi
        26: .line 478
            new jdk.dynalink.beans.BeanLinker$Binder
            dup
            aload 5 /* linkerServices */
            aload 6 /* callSiteType */
            aload 10 /* typedName */
            invokespecial jdk.dynalink.beans.BeanLinker$Binder.<init>:(Ljdk/dynalink/linker/LinkerServices;Ljava/lang/invoke/MethodType;Ljava/lang/Object;)V
            astore 13 /* binder */
        start local 13 // jdk.dynalink.beans.BeanLinker$Binder binder
        27: .line 479
            aload 12 /* gi */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
            astore 14 /* invocation */
        start local 14 // java.lang.invoke.MethodHandle invocation
        28: .line 481
            iload 8 /* isMap */
            ifeq 30
        29: .line 482
            aload 11 /* gic */
            aload 13 /* binder */
            aload 14 /* invocation */
            invokevirtual jdk.dynalink.beans.BeanLinker$Binder.bind:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.replaceInvocation:(Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        30: .line 485
      StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType int jdk.dynalink.beans.GuardedInvocationComponent java.lang.Object jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.linker.GuardedInvocation jdk.dynalink.beans.BeanLinker$Binder java.lang.invoke.MethodHandle
      StackMap stack:
            aload 7 /* gicact */
            aload 6 /* callSiteType */
            aload 9 /* nextComponent */
            aload 13 /* binder */
            iload 4 /* isFixedKey */
            ifeq 31
            getstatic jdk.dynalink.beans.BeanLinker.NO_OP_2:Ljava/lang/invoke/MethodHandle;
            goto 32
      StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType int jdk.dynalink.beans.GuardedInvocationComponent java.lang.Object jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.linker.GuardedInvocation jdk.dynalink.beans.BeanLinker$Binder java.lang.invoke.MethodHandle
      StackMap stack: jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType java.lang.invoke.MethodType jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$Binder
        31: getstatic jdk.dynalink.beans.BeanLinker.NO_OP_3:Ljava/lang/invoke/MethodHandle;
      StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType int jdk.dynalink.beans.GuardedInvocationComponent java.lang.Object jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.linker.GuardedInvocation jdk.dynalink.beans.BeanLinker$Binder java.lang.invoke.MethodHandle
      StackMap stack: jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType java.lang.invoke.MethodType jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$Binder java.lang.invoke.MethodHandle
        32: invokestatic jdk.dynalink.beans.BeanLinker.guardComponentWithRangeCheck:(Ljdk/dynalink/beans/BeanLinker$GuardedInvocationComponentAndCollectionType;Ljava/lang/invoke/MethodType;Ljdk/dynalink/beans/GuardedInvocationComponent;Ljdk/dynalink/beans/BeanLinker$Binder;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 14 // java.lang.invoke.MethodHandle invocation
        end local 13 // jdk.dynalink.beans.BeanLinker$Binder binder
        end local 12 // jdk.dynalink.linker.GuardedInvocation gi
        end local 11 // jdk.dynalink.beans.GuardedInvocationComponent gic
        end local 10 // java.lang.Object typedName
        end local 9 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        end local 8 // boolean isMap
        end local 7 // jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType gicact
        end local 6 // java.lang.invoke.MethodType callSiteType
        end local 5 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 4 // boolean isFixedKey
        end local 3 // java.lang.Object name
        end local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.BeanLinker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   33     0                this  Ljdk/dynalink/beans/BeanLinker;
            0   33     1                 req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            1   33     2  callSiteDescriptor  Ljdk/dynalink/CallSiteDescriptor;
            2   33     3                name  Ljava/lang/Object;
            5   33     4          isFixedKey  Z
            9   33     5      linkerServices  Ljdk/dynalink/linker/LinkerServices;
           10   33     6        callSiteType  Ljava/lang/invoke/MethodType;
           13   33     7              gicact  Ljdk/dynalink/beans/BeanLinker$GuardedInvocationComponentAndCollectionType;
           18   33     8               isMap  Z
           21   33     9       nextComponent  Ljdk/dynalink/beans/GuardedInvocationComponent;
           22   33    10           typedName  Ljava/lang/Object;
           25   33    11                 gic  Ljdk/dynalink/beans/GuardedInvocationComponent;
           26   33    12                  gi  Ljdk/dynalink/linker/GuardedInvocation;
           27   33    13              binder  Ljdk/dynalink/beans/BeanLinker$Binder;
           28   33    14          invocation  Ljava/lang/invoke/MethodHandle;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   final

  private jdk.dynalink.beans.GuardedInvocationComponent getElementRemover(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.BeanLinker this
        start local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
         0: .line 495
            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 496
            aload 1 /* req */
            getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.name:Ljava/lang/Object;
            astore 3 /* name */
        start local 3 // java.lang.Object name
         2: .line 497
            aload 3 /* name */
            ifnull 3
            iconst_1
            goto 4
      StackMap locals: jdk.dynalink.CallSiteDescriptor java.lang.Object
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* isFixedKey */
        start local 4 // boolean isFixedKey
         5: .line 498
            aload 2 /* callSiteDescriptor */
            iload 4 /* isFixedKey */
            ifeq 6
            iconst_1
            goto 7
      StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int
      StackMap stack: jdk.dynalink.CallSiteDescriptor
         6: iconst_2
      StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int
      StackMap stack: jdk.dynalink.CallSiteDescriptor int
         7: invokestatic jdk.dynalink.beans.BeanLinker.assertParameterCount:(Ljdk/dynalink/CallSiteDescriptor;I)V
         8: .line 499
            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
         9: .line 500
            aload 2 /* callSiteDescriptor */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            astore 6 /* callSiteType */
        start local 6 // java.lang.invoke.MethodType callSiteType
        10: .line 501
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual jdk.dynalink.beans.BeanLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            astore 7 /* nextComponent */
        start local 7 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        11: .line 503
            aload 0 /* this */
        12: .line 504
            aload 6 /* callSiteType */
            aload 5 /* linkerServices */
            aconst_null
            getstatic jdk.dynalink.beans.BeanLinker.REMOVE_LIST_ELEMENT:Ljava/lang/invoke/MethodHandle;
            getstatic jdk.dynalink.beans.BeanLinker.REMOVE_MAP_ELEMENT:Ljava/lang/invoke/MethodHandle;
        13: .line 503
            invokevirtual jdk.dynalink.beans.BeanLinker.guardedInvocationComponentAndCollectionType:(Ljava/lang/invoke/MethodType;Ljdk/dynalink/linker/LinkerServices;Ljava/util/function/Function;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/beans/BeanLinker$GuardedInvocationComponentAndCollectionType;
            astore 8 /* gicact */
        start local 8 // jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType gicact
        14: .line 506
            aload 8 /* gicact */
            ifnonnull 16
        15: .line 508
            aload 7 /* nextComponent */
            areturn
        16: .line 511
      StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType
      StackMap stack:
            aload 3 /* name */
            aload 8 /* gicact */
            getfield jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType.collectionType:Ljdk/dynalink/beans/BeanLinker$CollectionType;
            getstatic jdk.dynalink.beans.BeanLinker$CollectionType.MAP:Ljdk/dynalink/beans/BeanLinker$CollectionType;
            if_acmpne 17
            iconst_1
            goto 18
      StackMap locals:
      StackMap stack: java.lang.Object
        17: iconst_0
      StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType
      StackMap stack: java.lang.Object int
        18: aload 5 /* linkerServices */
            invokestatic jdk.dynalink.beans.BeanLinker.getTypedName:(Ljava/lang/Object;ZLjdk/dynalink/linker/LinkerServices;)Ljava/lang/Object;
            astore 9 /* typedName */
        start local 9 // java.lang.Object typedName
        19: .line 512
            aload 9 /* typedName */
            getstatic jdk.dynalink.beans.BeanLinker.INVALID_NAME:Ljava/lang/Object;
            if_acmpne 21
        20: .line 513
            aload 7 /* nextComponent */
            areturn
        21: .line 516
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 8 /* gicact */
            aload 6 /* callSiteType */
            aload 7 /* nextComponent */
        22: .line 517
            new jdk.dynalink.beans.BeanLinker$Binder
            dup
            aload 5 /* linkerServices */
            aload 6 /* callSiteType */
            aload 9 /* typedName */
            invokespecial jdk.dynalink.beans.BeanLinker$Binder.<init>:(Ljdk/dynalink/linker/LinkerServices;Ljava/lang/invoke/MethodType;Ljava/lang/Object;)V
            iload 4 /* isFixedKey */
            ifeq 23
            getstatic jdk.dynalink.beans.BeanLinker.NO_OP_1:Ljava/lang/invoke/MethodHandle;
            goto 24
      StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType java.lang.Object
      StackMap stack: jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType java.lang.invoke.MethodType jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$Binder
        23: getstatic jdk.dynalink.beans.BeanLinker.NO_OP_2:Ljava/lang/invoke/MethodHandle;
        24: .line 516
      StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType java.lang.Object
      StackMap stack: jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType java.lang.invoke.MethodType jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$Binder java.lang.invoke.MethodHandle
            invokestatic jdk.dynalink.beans.BeanLinker.guardComponentWithRangeCheck:(Ljdk/dynalink/beans/BeanLinker$GuardedInvocationComponentAndCollectionType;Ljava/lang/invoke/MethodType;Ljdk/dynalink/beans/GuardedInvocationComponent;Ljdk/dynalink/beans/BeanLinker$Binder;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/beans/GuardedInvocationComponent;
            areturn
        end local 9 // java.lang.Object typedName
        end local 8 // jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType gicact
        end local 7 // jdk.dynalink.beans.GuardedInvocationComponent nextComponent
        end local 6 // java.lang.invoke.MethodType callSiteType
        end local 5 // jdk.dynalink.linker.LinkerServices linkerServices
        end local 4 // boolean isFixedKey
        end local 3 // java.lang.Object name
        end local 2 // jdk.dynalink.CallSiteDescriptor callSiteDescriptor
        end local 1 // jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest req
        end local 0 // jdk.dynalink.beans.BeanLinker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   25     0                this  Ljdk/dynalink/beans/BeanLinker;
            0   25     1                 req  Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
            1   25     2  callSiteDescriptor  Ljdk/dynalink/CallSiteDescriptor;
            2   25     3                name  Ljava/lang/Object;
            5   25     4          isFixedKey  Z
            9   25     5      linkerServices  Ljdk/dynalink/linker/LinkerServices;
           10   25     6        callSiteType  Ljava/lang/invoke/MethodType;
           11   25     7       nextComponent  Ljdk/dynalink/beans/GuardedInvocationComponent;
           14   25     8              gicact  Ljdk/dynalink/beans/BeanLinker$GuardedInvocationComponentAndCollectionType;
           19   25     9           typedName  Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      req   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 530
            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 531
            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 533
      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

  static int[] $SWITCH_TABLE$jdk$dynalink$beans$BeanLinker$CollectionType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 90
            getstatic jdk.dynalink.beans.BeanLinker.$SWITCH_TABLE$jdk$dynalink$beans$BeanLinker$CollectionType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.dynalink.beans.BeanLinker$CollectionType.values:()[Ljdk/dynalink/beans/BeanLinker$CollectionType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.dynalink.beans.BeanLinker$CollectionType.ARRAY:Ljdk/dynalink/beans/BeanLinker$CollectionType;
            invokevirtual jdk.dynalink.beans.BeanLinker$CollectionType.ordinal:()I
            iconst_1
            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.BeanLinker$CollectionType.LIST:Ljdk/dynalink/beans/BeanLinker$CollectionType;
            invokevirtual jdk.dynalink.beans.BeanLinker$CollectionType.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.BeanLinker$CollectionType.MAP:Ljdk/dynalink/beans/BeanLinker$CollectionType;
            invokevirtual jdk.dynalink.beans.BeanLinker$CollectionType.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic jdk.dynalink.beans.BeanLinker.$SWITCH_TABLE$jdk$dynalink$beans$BeanLinker$CollectionType:[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
}
SourceFile: "BeanLinker.java"
NestMembers:
  jdk.dynalink.beans.BeanLinker$Binder  jdk.dynalink.beans.BeanLinker$CollectionType  jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  final ComponentLinkRequest = jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest of jdk.dynalink.beans.AbstractJavaLinker
  MethodPair = jdk.dynalink.beans.AbstractJavaLinker$MethodPair of jdk.dynalink.beans.AbstractJavaLinker
  private Binder = jdk.dynalink.beans.BeanLinker$Binder of jdk.dynalink.beans.BeanLinker
  private final CollectionType = jdk.dynalink.beans.BeanLinker$CollectionType of jdk.dynalink.beans.BeanLinker
  private GuardedInvocationComponentAndCollectionType = jdk.dynalink.beans.BeanLinker$GuardedInvocationComponentAndCollectionType of jdk.dynalink.beans.BeanLinker
  final ValidationType = jdk.dynalink.beans.GuardedInvocationComponent$ValidationType of jdk.dynalink.beans.GuardedInvocationComponent