abstract class java.lang.invoke.MethodHandleImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: java.lang.invoke.MethodHandleImpl
  super_class: java.lang.Object
{
  private static final int MAX_ARITY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.function.Function<java.lang.invoke.MethodHandle, java.lang.invoke.LambdaForm> PRODUCE_BLOCK_INLINING_FORM;
    descriptor: Ljava/util/function/Function;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Function<Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/LambdaForm;>;

  private static final java.util.function.Function<java.lang.invoke.MethodHandle, java.lang.invoke.LambdaForm> PRODUCE_REINVOKER_FORM;
    descriptor: Ljava/util/function/Function;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Function<Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/LambdaForm;>;

  static java.lang.invoke.MethodHandle[] FAKE_METHOD_HANDLE_INVOKE;
    descriptor: [Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC

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

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

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

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

  private static final java.lang.ClassValue<java.lang.invoke.MethodHandle[]> TYPED_COLLECTORS;
    descriptor: Ljava/lang/ClassValue;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ClassValue<[Ljava/lang/invoke/MethodHandle;>;

  static final int MAX_JVM_ARITY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 255

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 49
            ldc Ljava/lang/invoke/MethodHandleImpl;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
         3: .line 53
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            sipush 255
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 0 /* values */
        start local 0 // java.lang.Object[] values
         4: .line 54
            new java.lang.invoke.MethodHandleImpl$1
            dup
            aload 0 /* values */
            invokespecial java.lang.invoke.MethodHandleImpl$1.<init>:([Ljava/lang/Object;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         5: .line 61
            aload 0 /* values */
            iconst_0
            aaload
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            putstatic java.lang.invoke.MethodHandleImpl.MAX_ARITY:I
        end local 0 // java.lang.Object[] values
         6: .line 775
            new java.lang.invoke.MethodHandleImpl$2
            dup
            invokespecial java.lang.invoke.MethodHandleImpl$2.<init>:()V
            putstatic java.lang.invoke.MethodHandleImpl.PRODUCE_BLOCK_INLINING_FORM:Ljava/util/function/Function;
         7: .line 785
            new java.lang.invoke.MethodHandleImpl$3
            dup
            invokespecial java.lang.invoke.MethodHandleImpl$3.<init>:()V
            putstatic java.lang.invoke.MethodHandleImpl.PRODUCE_REINVOKER_FORM:Ljava/util/function/Function;
         8: .line 1083
            iconst_2
            anewarray java.lang.invoke.MethodHandle
            putstatic java.lang.invoke.MethodHandleImpl.FAKE_METHOD_HANDLE_INVOKE:[Ljava/lang/invoke/MethodHandle;
         9: .line 1393
            iconst_0
            anewarray java.lang.Object
            putstatic java.lang.invoke.MethodHandleImpl.NO_ARGS_ARRAY:[Ljava/lang/Object;
        10: .line 1551
            getstatic java.lang.invoke.MethodHandleImpl.MAX_ARITY:I
            iconst_1
            iadd
            anewarray java.lang.invoke.MethodHandle
            putstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAY_TO_RIGHT:[Ljava/lang/invoke/MethodHandle;
        11: .line 1597
            new java.lang.invoke.MethodHandleImpl$4
            dup
            invokespecial java.lang.invoke.MethodHandleImpl$4.<init>:()V
        12: .line 1596
            putstatic java.lang.invoke.MethodHandleImpl.TYPED_COLLECTORS:Ljava/lang/ClassValue;
        13: .line 1604
            return
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            4    6     0  values  [Ljava/lang/Object;

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.MethodHandleImpl this
         0: .line 49
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // java.lang.invoke.MethodHandleImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/MethodHandleImpl;

  static void initStatics();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 68
            getstatic java.lang.invoke.MemberName$Factory.INSTANCE:Ljava/lang/invoke/MemberName$Factory;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
         1: .line 69
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static java.lang.invoke.MethodHandle makeArrayElementAccessor(java.lang.Class<?>, boolean);
    descriptor: (Ljava/lang/Class;Z)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // java.lang.Class arrayClass
        start local 1 // boolean isSetter
         0: .line 72
            aload 0 /* arrayClass */
            ldc [Ljava/lang/Object;
            if_acmpne 4
         1: .line 73
            iload 1 /* isSetter */
            ifeq 2
            getstatic java.lang.invoke.MethodHandleImpl$ArrayAccessor.OBJECT_ARRAY_SETTER:Ljava/lang/invoke/MethodHandle;
            goto 3
      StackMap locals:
      StackMap stack:
         2: getstatic java.lang.invoke.MethodHandleImpl$ArrayAccessor.OBJECT_ARRAY_GETTER:Ljava/lang/invoke/MethodHandle;
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodHandle
         3: areturn
         4: .line 74
      StackMap locals:
      StackMap stack:
            aload 0 /* arrayClass */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 6
         5: .line 75
            new java.lang.StringBuilder
            dup
            ldc "not an array: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* arrayClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.lang.invoke.MethodHandleStatics.newIllegalArgumentException:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         6: .line 76
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl$ArrayAccessor.TYPED_ACCESSORS:Ljava/lang/ClassValue;
            aload 0 /* arrayClass */
            invokevirtual java.lang.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.invoke.MethodHandle[]
            astore 2 /* cache */
        start local 2 // java.lang.invoke.MethodHandle[] cache
         7: .line 77
            iload 1 /* isSetter */
            ifeq 8
            iconst_1
            goto 9
      StackMap locals: java.lang.invoke.MethodHandle[]
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 3 /* cacheIndex */
        start local 3 // int cacheIndex
        10: .line 78
            aload 2 /* cache */
            iload 3 /* cacheIndex */
            aaload
            astore 4 /* mh */
        start local 4 // java.lang.invoke.MethodHandle mh
        11: .line 79
            aload 4 /* mh */
            ifnull 12
            aload 4 /* mh */
            areturn
        12: .line 80
      StackMap locals: int java.lang.invoke.MethodHandle
      StackMap stack:
            aload 0 /* arrayClass */
            iload 1 /* isSetter */
            invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccessor.getAccessor:(Ljava/lang/Class;Z)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        13: .line 81
            aload 0 /* arrayClass */
            iload 1 /* isSetter */
            invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccessor.correctType:(Ljava/lang/Class;Z)Ljava/lang/invoke/MethodType;
            astore 5 /* correctType */
        start local 5 // java.lang.invoke.MethodType correctType
        14: .line 82
            aload 4 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 5 /* correctType */
            if_acmpeq 21
        15: .line 83
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 16
            aload 4 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            ldc [Ljava/lang/Object;
            if_acmpeq 16
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 84
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 19
            iload 1 /* isSetter */
            ifeq 17
            aload 4 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            iconst_2
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 4 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
      StackMap locals:
      StackMap stack: java.lang.Class
        18: ldc Ljava/lang/Object;
            if_acmpeq 19
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 85
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 20
            iload 1 /* isSetter */
            ifne 20
            aload 5 /* correctType */
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            aload 5 /* correctType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            if_acmpeq 20
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 87
      StackMap locals:
      StackMap stack:
            aload 4 /* mh */
            aload 5 /* correctType */
            iconst_0
            invokevirtual java.lang.invoke.MethodHandle.viewAsType:(Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        21: .line 89
      StackMap locals:
      StackMap stack:
            aload 4 /* mh */
            iload 1 /* isSetter */
            ifeq 22
            getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.ARRAY_STORE:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            goto 23
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodHandle
        22: getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.ARRAY_LOAD:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
      StackMap locals: java.lang.Class int java.lang.invoke.MethodHandle[] int java.lang.invoke.MethodHandle java.lang.invoke.MethodType
      StackMap stack: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandleImpl$Intrinsic
        23: invokestatic java.lang.invoke.MethodHandleImpl.makeIntrinsic:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        24: .line 91
            aload 2 /* cache */
            dup
            astore 6
            monitorenter
        25: .line 92
            aload 2 /* cache */
            iload 3 /* cacheIndex */
            aaload
            ifnonnull 28
        26: .line 93
            aload 2 /* cache */
            iload 3 /* cacheIndex */
            aload 4 /* mh */
            aastore
        27: .line 94
            goto 29
        28: .line 96
      StackMap locals: java.lang.invoke.MethodHandle[]
      StackMap stack:
            aload 2 /* cache */
            iload 3 /* cacheIndex */
            aaload
            astore 4 /* mh */
        29: .line 91
      StackMap locals:
      StackMap stack:
            aload 6
            monitorexit
        30: goto 33
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: aload 6
            monitorexit
        32: athrow
        33: .line 99
      StackMap locals:
      StackMap stack:
            aload 4 /* mh */
            areturn
        end local 5 // java.lang.invoke.MethodType correctType
        end local 4 // java.lang.invoke.MethodHandle mh
        end local 3 // int cacheIndex
        end local 2 // java.lang.invoke.MethodHandle[] cache
        end local 1 // boolean isSetter
        end local 0 // java.lang.Class arrayClass
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   34     0   arrayClass  Ljava/lang/Class<*>;
            0   34     1     isSetter  Z
            7   34     2        cache  [Ljava/lang/invoke/MethodHandle;
           10   34     3   cacheIndex  I
           11   34     4           mh  Ljava/lang/invoke/MethodHandle;
           14   34     5  correctType  Ljava/lang/invoke/MethodType;
      Exception table:
        from    to  target  type
          25    30      31  any
          31    32      31  any
    Signature: (Ljava/lang/Class<*>;Z)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
            Name  Flags
      arrayClass  
      isSetter    

  static java.lang.invoke.MethodHandle makePairwiseConvert(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, boolean, boolean);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // java.lang.invoke.MethodHandle target
        start local 1 // java.lang.invoke.MethodType srcType
        start local 2 // boolean strict
        start local 3 // boolean monobox
         0: .line 191
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 4 /* dstType */
        start local 4 // java.lang.invoke.MethodType dstType
         1: .line 192
            aload 1 /* srcType */
            aload 4 /* dstType */
            if_acmpne 3
         2: .line 193
            aload 0 /* target */
            areturn
         3: .line 194
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
            aload 0 /* target */
            aload 1 /* srcType */
            iload 2 /* strict */
            iload 3 /* monobox */
            invokestatic java.lang.invoke.MethodHandleImpl.makePairwiseConvertByEditor:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MethodType dstType
        end local 3 // boolean monobox
        end local 2 // boolean strict
        end local 1 // java.lang.invoke.MethodType srcType
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0   target  Ljava/lang/invoke/MethodHandle;
            0    4     1  srcType  Ljava/lang/invoke/MethodType;
            0    4     2   strict  Z
            0    4     3  monobox  Z
            1    4     4  dstType  Ljava/lang/invoke/MethodType;
    MethodParameters:
         Name  Flags
      target   
      srcType  
      strict   
      monobox  

  private static int countNonNull(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // java.lang.Object[] array
         0: .line 198
            iconst_0
            istore 1 /* count */
        start local 1 // int count
         1: .line 199
            aload 0 /* array */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: java.lang.Object[] int top int int java.lang.Object[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* x */
        start local 2 // java.lang.Object x
         3: .line 200
            aload 2 /* x */
            ifnull 4
            iinc 1 /* count */ 1
        end local 2 // java.lang.Object x
         4: .line 199
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 202
            iload 1 /* count */
            ireturn
        end local 1 // int count
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  array  [Ljava/lang/Object;
            1    7     1  count  I
            3    4     2      x  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      array  

  static java.lang.invoke.MethodHandle makePairwiseConvertByEditor(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, boolean, boolean);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=14, args_size=4
        start local 0 // java.lang.invoke.MethodHandle target
        start local 1 // java.lang.invoke.MethodType srcType
        start local 2 // boolean strict
        start local 3 // boolean monobox
         0: .line 207
            aload 1 /* srcType */
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            iload 2 /* strict */
            iload 3 /* monobox */
            invokestatic java.lang.invoke.MethodHandleImpl.computeValueConversions:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;ZZ)[Ljava/lang/Object;
            astore 4 /* convSpecs */
        start local 4 // java.lang.Object[] convSpecs
         1: .line 208
            aload 4 /* convSpecs */
            invokestatic java.lang.invoke.MethodHandleImpl.countNonNull:([Ljava/lang/Object;)I
            istore 5 /* convCount */
        start local 5 // int convCount
         2: .line 209
            iload 5 /* convCount */
            ifne 4
         3: .line 210
            aload 0 /* target */
            aload 1 /* srcType */
            iload 2 /* strict */
            invokevirtual java.lang.invoke.MethodHandle.viewAsType:(Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
            areturn
         4: .line 211
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 1 /* srcType */
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            astore 6 /* basicSrcType */
        start local 6 // java.lang.invoke.MethodType basicSrcType
         5: .line 212
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            astore 7 /* midType */
        start local 7 // java.lang.invoke.MethodType midType
         6: .line 213
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.rebind:()Ljava/lang/invoke/BoundMethodHandle;
            astore 8 /* mh */
        start local 8 // java.lang.invoke.BoundMethodHandle mh
         7: .line 216
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         8: goto 23
         9: .line 217
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodType int int java.lang.Object[] int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.BoundMethodHandle int
      StackMap stack:
            aload 4 /* convSpecs */
            iload 9 /* i */
            aaload
            astore 10 /* convSpec */
        start local 10 // java.lang.Object convSpec
        10: .line 218
            aload 10 /* convSpec */
            ifnonnull 11
            goto 22
        11: .line 220
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 10 /* convSpec */
            instanceof java.lang.Class
            ifeq 14
        12: .line 221
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.MH_castReference:Ljava/lang/invoke/MethodHandle;
            aload 10 /* convSpec */
            invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 11 /* fn */
        start local 11 // java.lang.invoke.MethodHandle fn
        13: .line 222
            goto 15
        end local 11 // java.lang.invoke.MethodHandle fn
        14: .line 223
      StackMap locals:
      StackMap stack:
            aload 10 /* convSpec */
            checkcast java.lang.invoke.MethodHandle
            astore 11 /* fn */
        start local 11 // java.lang.invoke.MethodHandle fn
        15: .line 225
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 6 /* basicSrcType */
            iload 9 /* i */
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            astore 12 /* newType */
        start local 12 // java.lang.Class newType
        16: .line 226
            iinc 5 /* convCount */ -1
            iload 5 /* convCount */
            ifne 18
        17: .line 227
            aload 1 /* srcType */
            astore 7 /* midType */
            goto 19
        18: .line 229
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 7 /* midType */
            iload 9 /* i */
            aload 12 /* newType */
            invokevirtual java.lang.invoke.MethodType.changeParameterType:(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 7 /* midType */
        19: .line 230
      StackMap locals:
      StackMap stack:
            aload 8 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
            iconst_1
            iload 9 /* i */
            iadd
            aload 12 /* newType */
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
            invokevirtual java.lang.invoke.LambdaFormEditor.filterArgumentForm:(ILjava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm;
            astore 13 /* form2 */
        start local 13 // java.lang.invoke.LambdaForm form2
        20: .line 231
            aload 8 /* mh */
            aload 7 /* midType */
            aload 13 /* form2 */
            aload 11 /* fn */
            invokevirtual java.lang.invoke.BoundMethodHandle.copyWithExtendL:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
            astore 8 /* mh */
        21: .line 232
            aload 8 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.rebind:()Ljava/lang/invoke/BoundMethodHandle;
            astore 8 /* mh */
        end local 13 // java.lang.invoke.LambdaForm form2
        end local 12 // java.lang.Class newType
        end local 11 // java.lang.invoke.MethodHandle fn
        end local 10 // java.lang.Object convSpec
        22: .line 216
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 9 /* i */
            aload 4 /* convSpecs */
            arraylength
            iconst_1
            isub
            if_icmplt 9
        end local 9 // int i
        24: .line 234
            aload 4 /* convSpecs */
            aload 4 /* convSpecs */
            arraylength
            iconst_1
            isub
            aaload
            astore 9 /* convSpec */
        start local 9 // java.lang.Object convSpec
        25: .line 235
            aload 9 /* convSpec */
            ifnull 43
        26: .line 237
            aload 9 /* convSpec */
            instanceof java.lang.Class
            ifeq 32
        27: .line 238
            aload 9 /* convSpec */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 30
        28: .line 239
            aconst_null
            astore 10 /* fn */
        start local 10 // java.lang.invoke.MethodHandle fn
        29: goto 33
        end local 10 // java.lang.invoke.MethodHandle fn
        30: .line 241
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodType int int java.lang.Object[] int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.BoundMethodHandle java.lang.Object
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.MH_castReference:Ljava/lang/invoke/MethodHandle;
            aload 9 /* convSpec */
            invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 10 /* fn */
        start local 10 // java.lang.invoke.MethodHandle fn
        31: .line 242
            goto 33
        end local 10 // java.lang.invoke.MethodHandle fn
        32: .line 243
      StackMap locals:
      StackMap stack:
            aload 9 /* convSpec */
            checkcast java.lang.invoke.MethodHandle
            astore 10 /* fn */
        start local 10 // java.lang.invoke.MethodHandle fn
        33: .line 245
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 6 /* basicSrcType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            astore 11 /* newType */
        start local 11 // java.lang.Class newType
        34: .line 246
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 35
            iinc 5 /* convCount */ -1
            iload 5 /* convCount */
            ifeq 35
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        35: .line 247
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* srcType */
            astore 7 /* midType */
        36: .line 248
            aload 10 /* fn */
            ifnull 41
        37: .line 249
            aload 8 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.rebind:()Ljava/lang/invoke/BoundMethodHandle;
            astore 8 /* mh */
        38: .line 250
            aload 8 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
            aload 11 /* newType */
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
            iconst_0
            invokevirtual java.lang.invoke.LambdaFormEditor.filterReturnForm:(Ljava/lang/invoke/LambdaForm$BasicType;Z)Ljava/lang/invoke/LambdaForm;
            astore 12 /* form2 */
        start local 12 // java.lang.invoke.LambdaForm form2
        39: .line 251
            aload 8 /* mh */
            aload 7 /* midType */
            aload 12 /* form2 */
            aload 10 /* fn */
            invokevirtual java.lang.invoke.BoundMethodHandle.copyWithExtendL:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
            astore 8 /* mh */
        end local 12 // java.lang.invoke.LambdaForm form2
        40: .line 252
            goto 43
        41: .line 253
      StackMap locals:
      StackMap stack:
            aload 8 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
            aload 11 /* newType */
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
            iconst_1
            invokevirtual java.lang.invoke.LambdaFormEditor.filterReturnForm:(Ljava/lang/invoke/LambdaForm$BasicType;Z)Ljava/lang/invoke/LambdaForm;
            astore 12 /* form2 */
        start local 12 // java.lang.invoke.LambdaForm form2
        42: .line 254
            aload 8 /* mh */
            aload 7 /* midType */
            aload 12 /* form2 */
            invokevirtual java.lang.invoke.BoundMethodHandle.copyWith:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle;
            astore 8 /* mh */
        end local 12 // java.lang.invoke.LambdaForm form2
        end local 11 // java.lang.Class newType
        end local 10 // java.lang.invoke.MethodHandle fn
        43: .line 257
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 44
            iload 5 /* convCount */
            ifeq 44
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        44: .line 258
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 45
            aload 8 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 1 /* srcType */
            invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
            ifne 45
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        45: .line 259
      StackMap locals:
      StackMap stack:
            aload 8 /* mh */
            areturn
        end local 9 // java.lang.Object convSpec
        end local 8 // java.lang.invoke.BoundMethodHandle mh
        end local 7 // java.lang.invoke.MethodType midType
        end local 6 // java.lang.invoke.MethodType basicSrcType
        end local 5 // int convCount
        end local 4 // java.lang.Object[] convSpecs
        end local 3 // boolean monobox
        end local 2 // boolean strict
        end local 1 // java.lang.invoke.MethodType srcType
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   46     0        target  Ljava/lang/invoke/MethodHandle;
            0   46     1       srcType  Ljava/lang/invoke/MethodType;
            0   46     2        strict  Z
            0   46     3       monobox  Z
            1   46     4     convSpecs  [Ljava/lang/Object;
            2   46     5     convCount  I
            5   46     6  basicSrcType  Ljava/lang/invoke/MethodType;
            6   46     7       midType  Ljava/lang/invoke/MethodType;
            7   46     8            mh  Ljava/lang/invoke/BoundMethodHandle;
            8   24     9             i  I
           10   22    10      convSpec  Ljava/lang/Object;
           13   14    11            fn  Ljava/lang/invoke/MethodHandle;
           15   22    11            fn  Ljava/lang/invoke/MethodHandle;
           16   22    12       newType  Ljava/lang/Class<*>;
           20   22    13         form2  Ljava/lang/invoke/LambdaForm;
           25   46     9      convSpec  Ljava/lang/Object;
           29   30    10            fn  Ljava/lang/invoke/MethodHandle;
           31   32    10            fn  Ljava/lang/invoke/MethodHandle;
           33   43    10            fn  Ljava/lang/invoke/MethodHandle;
           34   43    11       newType  Ljava/lang/Class<*>;
           39   40    12         form2  Ljava/lang/invoke/LambdaForm;
           42   43    12         form2  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
         Name  Flags
      target   
      srcType  
      strict   
      monobox  

  static java.lang.invoke.MethodHandle makePairwiseConvertIndirect(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, boolean, boolean);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=22, args_size=4
        start local 0 // java.lang.invoke.MethodHandle target
        start local 1 // java.lang.invoke.MethodType srcType
        start local 2 // boolean strict
        start local 3 // boolean monobox
         0: .line 264
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 1
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            aload 1 /* srcType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 266
      StackMap locals:
      StackMap stack:
            aload 1 /* srcType */
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            iload 2 /* strict */
            iload 3 /* monobox */
            invokestatic java.lang.invoke.MethodHandleImpl.computeValueConversions:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;ZZ)[Ljava/lang/Object;
            astore 4 /* convSpecs */
        start local 4 // java.lang.Object[] convSpecs
         2: .line 267
            aload 1 /* srcType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 5 /* INARG_COUNT */
        start local 5 // int INARG_COUNT
         3: .line 268
            aload 4 /* convSpecs */
            invokestatic java.lang.invoke.MethodHandleImpl.countNonNull:([Ljava/lang/Object;)I
            istore 6 /* convCount */
        start local 6 // int convCount
         4: .line 269
            aload 4 /* convSpecs */
            iload 5 /* INARG_COUNT */
            aaload
            ifnull 5
            iconst_1
            goto 6
      StackMap locals: java.lang.Object[] int int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 7 /* retConv */
        start local 7 // boolean retConv
         7: .line 270
            aload 1 /* srcType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 8
            iconst_1
            goto 9
      StackMap locals: int
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 8 /* retVoid */
        start local 8 // boolean retVoid
        10: .line 271
            iload 7 /* retConv */
            ifeq 13
            iload 8 /* retVoid */
            ifeq 13
        11: .line 272
            iinc 6 /* convCount */ -1
        12: .line 273
            iconst_0
            istore 7 /* retConv */
        13: .line 278
      StackMap locals: int
      StackMap stack:
            iconst_1
            iload 5 /* INARG_COUNT */
            iadd
            istore 9 /* INARG_LIMIT */
        start local 9 // int INARG_LIMIT
        14: .line 279
            iload 9 /* INARG_LIMIT */
            iload 6 /* convCount */
            iadd
            iconst_1
            iadd
            istore 10 /* NAME_LIMIT */
        start local 10 // int NAME_LIMIT
        15: .line 280
            iload 7 /* retConv */
            ifne 16
            iconst_m1
            goto 17
      StackMap locals: int int
      StackMap stack:
        16: iload 10 /* NAME_LIMIT */
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
        17: istore 11 /* RETURN_CONV */
        start local 11 // int RETURN_CONV
        18: .line 281
            iload 7 /* retConv */
            ifne 19
            iload 10 /* NAME_LIMIT */
            goto 20
      StackMap locals: int
      StackMap stack:
        19: iload 11 /* RETURN_CONV */
      StackMap locals:
      StackMap stack: int
        20: iconst_1
            isub
            istore 12 /* OUT_CALL */
        start local 12 // int OUT_CALL
        21: .line 282
            iload 8 /* retVoid */
            ifeq 22
            iconst_m1
            goto 23
      StackMap locals: int
      StackMap stack:
        22: iload 10 /* NAME_LIMIT */
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
        23: istore 13 /* RESULT */
        start local 13 // int RESULT
        24: .line 285
            aload 1 /* srcType */
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
            astore 14 /* lambdaType */
        start local 14 // java.lang.invoke.MethodType lambdaType
        25: .line 286
            iload 10 /* NAME_LIMIT */
            iload 9 /* INARG_LIMIT */
            isub
            aload 14 /* lambdaType */
            invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
            astore 15 /* names */
        start local 15 // java.lang.invoke.LambdaForm$Name[] names
        26: .line 290
            iconst_0
            iload 5 /* INARG_COUNT */
            iadd
            anewarray java.lang.Object
            astore 16 /* outArgs */
        start local 16 // java.lang.Object[] outArgs
        27: .line 292
            iload 9 /* INARG_LIMIT */
            istore 17 /* nameCursor */
        start local 17 // int nameCursor
        28: .line 293
            iconst_0
            istore 18 /* i */
        start local 18 // int i
        29: goto 45
        30: .line 294
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodType int int java.lang.Object[] int int int int int int int int int java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[] java.lang.Object[] int int
      StackMap stack:
            aload 4 /* convSpecs */
            iload 18 /* i */
            aaload
            astore 19 /* convSpec */
        start local 19 // java.lang.Object convSpec
        31: .line 295
            aload 19 /* convSpec */
            ifnonnull 34
        32: .line 297
            aload 16 /* outArgs */
            iconst_0
            iload 18 /* i */
            iadd
            aload 15 /* names */
            iconst_1
            iload 18 /* i */
            iadd
            aaload
            aastore
        33: .line 298
            goto 44
        34: .line 302
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 19 /* convSpec */
            instanceof java.lang.Class
            ifeq 38
        35: .line 303
            aload 19 /* convSpec */
            checkcast java.lang.Class
            astore 21 /* convClass */
        start local 21 // java.lang.Class convClass
        36: .line 304
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.MH_castReference:Ljava/lang/invoke/MethodHandle;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 21 /* convClass */
            aastore
            dup
            iconst_1
            aload 15 /* names */
            iconst_1
            iload 18 /* i */
            iadd
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            astore 20 /* conv */
        end local 21 // java.lang.Class convClass
        start local 20 // java.lang.invoke.LambdaForm$Name conv
        37: .line 305
            goto 40
        end local 20 // java.lang.invoke.LambdaForm$Name conv
        38: .line 306
      StackMap locals:
      StackMap stack:
            aload 19 /* convSpec */
            checkcast java.lang.invoke.MethodHandle
            astore 21 /* fn */
        start local 21 // java.lang.invoke.MethodHandle fn
        39: .line 307
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 21 /* fn */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 15 /* names */
            iconst_1
            iload 18 /* i */
            iadd
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            astore 20 /* conv */
        end local 21 // java.lang.invoke.MethodHandle fn
        start local 20 // java.lang.invoke.LambdaForm$Name conv
        40: .line 309
      StackMap locals: java.lang.invoke.LambdaForm$Name
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 41
            aload 15 /* names */
            iload 17 /* nameCursor */
            aaload
            ifnull 41
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        41: .line 310
      StackMap locals:
      StackMap stack:
            aload 15 /* names */
            iload 17 /* nameCursor */
            iinc 17 /* nameCursor */ 1
            aload 20 /* conv */
            aastore
        42: .line 311
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 43
            aload 16 /* outArgs */
            iconst_0
            iload 18 /* i */
            iadd
            aaload
            ifnull 43
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        43: .line 312
      StackMap locals:
      StackMap stack:
            aload 16 /* outArgs */
            iconst_0
            iload 18 /* i */
            iadd
            aload 20 /* conv */
            aastore
        end local 20 // java.lang.invoke.LambdaForm$Name conv
        end local 19 // java.lang.Object convSpec
        44: .line 293
      StackMap locals:
      StackMap stack:
            iinc 18 /* i */ 1
      StackMap locals:
      StackMap stack:
        45: iload 18 /* i */
            iload 5 /* INARG_COUNT */
            if_icmplt 30
        end local 18 // int i
        46: .line 316
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 47
            iload 17 /* nameCursor */
            iload 12 /* OUT_CALL */
            if_icmpeq 47
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        47: .line 317
      StackMap locals:
      StackMap stack:
            aload 15 /* names */
            iload 12 /* OUT_CALL */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 0 /* target */
            aload 16 /* outArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            aastore
        48: .line 319
            aload 4 /* convSpecs */
            iload 5 /* INARG_COUNT */
            aaload
            astore 18 /* convSpec */
        start local 18 // java.lang.Object convSpec
        49: .line 320
            iload 7 /* retConv */
            ifne 51
        50: .line 321
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 66
            iload 12 /* OUT_CALL */
            aload 15 /* names */
            arraylength
            iconst_1
            isub
            if_icmpeq 66
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        51: .line 324
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 18 /* convSpec */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 54
        52: .line 325
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 1 /* srcType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
            invokestatic java.lang.invoke.LambdaForm.constantZero:(Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_0
            anewarray java.lang.Object
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            astore 19 /* conv */
        start local 19 // java.lang.invoke.LambdaForm$Name conv
        53: .line 326
            goto 63
        end local 19 // java.lang.invoke.LambdaForm$Name conv
      StackMap locals:
      StackMap stack:
        54: aload 18 /* convSpec */
            instanceof java.lang.Class
            ifeq 58
        55: .line 327
            aload 18 /* convSpec */
            checkcast java.lang.Class
            astore 20 /* convClass */
        start local 20 // java.lang.Class convClass
        56: .line 328
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.MH_castReference:Ljava/lang/invoke/MethodHandle;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 20 /* convClass */
            aastore
            dup
            iconst_1
            aload 15 /* names */
            iload 12 /* OUT_CALL */
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            astore 19 /* conv */
        end local 20 // java.lang.Class convClass
        start local 19 // java.lang.invoke.LambdaForm$Name conv
        57: .line 329
            goto 63
        end local 19 // java.lang.invoke.LambdaForm$Name conv
        58: .line 330
      StackMap locals:
      StackMap stack:
            aload 18 /* convSpec */
            checkcast java.lang.invoke.MethodHandle
            astore 20 /* fn */
        start local 20 // java.lang.invoke.MethodHandle fn
        59: .line 331
            aload 20 /* fn */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            ifne 62
        60: .line 332
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 20 /* fn */
            iconst_0
            anewarray java.lang.Object
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            astore 19 /* conv */
        start local 19 // java.lang.invoke.LambdaForm$Name conv
        61: goto 63
        end local 19 // java.lang.invoke.LambdaForm$Name conv
        62: .line 334
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodType int int java.lang.Object[] int int int int int int int int int java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[] java.lang.Object[] int java.lang.Object top java.lang.invoke.MethodHandle
      StackMap stack:
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 20 /* fn */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 15 /* names */
            iload 12 /* OUT_CALL */
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            astore 19 /* conv */
        end local 20 // java.lang.invoke.MethodHandle fn
        start local 19 // java.lang.invoke.LambdaForm$Name conv
        63: .line 336
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodType int int java.lang.Object[] int int int int int int int int int java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[] java.lang.Object[] int java.lang.Object java.lang.invoke.LambdaForm$Name
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 64
            aload 15 /* names */
            iload 11 /* RETURN_CONV */
            aaload
            ifnull 64
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        64: .line 337
      StackMap locals:
      StackMap stack:
            aload 15 /* names */
            iload 11 /* RETURN_CONV */
            aload 19 /* conv */
            aastore
        65: .line 338
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 66
            iload 11 /* RETURN_CONV */
            aload 15 /* names */
            arraylength
            iconst_1
            isub
            if_icmpeq 66
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 19 // java.lang.invoke.LambdaForm$Name conv
        66: .line 341
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm
            dup
            ldc "convert"
            aload 14 /* lambdaType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            aload 15 /* names */
            iload 13 /* RESULT */
            invokespecial java.lang.invoke.LambdaForm.<init>:(Ljava/lang/String;I[Ljava/lang/invoke/LambdaForm$Name;I)V
            astore 19 /* form */
        start local 19 // java.lang.invoke.LambdaForm form
        67: .line 342
            aload 1 /* srcType */
            aload 19 /* form */
            invokestatic java.lang.invoke.SimpleMethodHandle.make:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle;
            areturn
        end local 19 // java.lang.invoke.LambdaForm form
        end local 18 // java.lang.Object convSpec
        end local 17 // int nameCursor
        end local 16 // java.lang.Object[] outArgs
        end local 15 // java.lang.invoke.LambdaForm$Name[] names
        end local 14 // java.lang.invoke.MethodType lambdaType
        end local 13 // int RESULT
        end local 12 // int OUT_CALL
        end local 11 // int RETURN_CONV
        end local 10 // int NAME_LIMIT
        end local 9 // int INARG_LIMIT
        end local 8 // boolean retVoid
        end local 7 // boolean retConv
        end local 6 // int convCount
        end local 5 // int INARG_COUNT
        end local 4 // java.lang.Object[] convSpecs
        end local 3 // boolean monobox
        end local 2 // boolean strict
        end local 1 // java.lang.invoke.MethodType srcType
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   68     0       target  Ljava/lang/invoke/MethodHandle;
            0   68     1      srcType  Ljava/lang/invoke/MethodType;
            0   68     2       strict  Z
            0   68     3      monobox  Z
            2   68     4    convSpecs  [Ljava/lang/Object;
            3   68     5  INARG_COUNT  I
            4   68     6    convCount  I
            7   68     7      retConv  Z
           10   68     8      retVoid  Z
           14   68     9  INARG_LIMIT  I
           15   68    10   NAME_LIMIT  I
           18   68    11  RETURN_CONV  I
           21   68    12     OUT_CALL  I
           24   68    13       RESULT  I
           25   68    14   lambdaType  Ljava/lang/invoke/MethodType;
           26   68    15        names  [Ljava/lang/invoke/LambdaForm$Name;
           27   68    16      outArgs  [Ljava/lang/Object;
           28   68    17   nameCursor  I
           29   46    18            i  I
           31   44    19     convSpec  Ljava/lang/Object;
           37   38    20         conv  Ljava/lang/invoke/LambdaForm$Name;
           40   44    20         conv  Ljava/lang/invoke/LambdaForm$Name;
           36   37    21    convClass  Ljava/lang/Class<*>;
           39   40    21           fn  Ljava/lang/invoke/MethodHandle;
           49   68    18     convSpec  Ljava/lang/Object;
           53   54    19         conv  Ljava/lang/invoke/LambdaForm$Name;
           57   58    19         conv  Ljava/lang/invoke/LambdaForm$Name;
           61   62    19         conv  Ljava/lang/invoke/LambdaForm$Name;
           63   66    19         conv  Ljava/lang/invoke/LambdaForm$Name;
           56   57    20    convClass  Ljava/lang/Class<*>;
           59   63    20           fn  Ljava/lang/invoke/MethodHandle;
           67   68    19         form  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
         Name  Flags
      target   
      srcType  
      strict   
      monobox  

  static <T, U> T castReference(java.lang.Class<? extends T>, );
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Class t
        start local 1 // java.lang.Object x
         0: .line 355
            aload 1 /* x */
            ifnull 2
            aload 0 /* t */
            aload 1 /* x */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 356
            aload 0 /* t */
            aload 1 /* x */
            invokestatic java.lang.invoke.MethodHandleImpl.newClassCastException:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/ClassCastException;
            athrow
         2: .line 357
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            areturn
        end local 1 // java.lang.Object x
        end local 0 // java.lang.Class t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     t  Ljava/lang/Class<+TT;>;
            0    3     1     x  TU;
    Signature: <T:Ljava/lang/Object;U:Ljava/lang/Object;>(Ljava/lang/Class<+TT;>;TU;)TT;
    RuntimeVisibleAnnotations: 
      java.lang.invoke.ForceInline()
    MethodParameters:
      Name  Flags
      t     
      x     

  private static java.lang.ClassCastException newClassCastException(java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/ClassCastException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.Class t
        start local 1 // java.lang.Object obj
         0: .line 361
            new java.lang.ClassCastException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot cast "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* t */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Class t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljava/lang/Class<*>;
            0    1     1   obj  Ljava/lang/Object;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Object;)Ljava/lang/ClassCastException;
    MethodParameters:
      Name  Flags
      t     
      obj   

  static java.lang.Object[] computeValueConversions(java.lang.invoke.MethodType, java.lang.invoke.MethodType, boolean, boolean);
    descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;ZZ)[Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // java.lang.invoke.MethodType srcType
        start local 1 // java.lang.invoke.MethodType dstType
        start local 2 // boolean strict
        start local 3 // boolean monobox
         0: .line 366
            aload 0 /* srcType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 4 /* INARG_COUNT */
        start local 4 // int INARG_COUNT
         1: .line 367
            iload 4 /* INARG_COUNT */
            iconst_1
            iadd
            anewarray java.lang.Object
            astore 5 /* convSpecs */
        start local 5 // java.lang.Object[] convSpecs
         2: .line 368
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 16
         4: .line 369
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            iload 6 /* i */
            iload 4 /* INARG_COUNT */
            if_icmpne 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 7 /* isRet */
        start local 7 // boolean isRet
         7: .line 370
            iload 7 /* isRet */
            ifeq 8
            aload 1 /* dstType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            goto 9
      StackMap locals: int
      StackMap stack:
         8: aload 0 /* srcType */
            iload 6 /* i */
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
      StackMap locals:
      StackMap stack: java.lang.Class
         9: astore 8 /* src */
        start local 8 // java.lang.Class src
        10: .line 371
            iload 7 /* isRet */
            ifeq 11
            aload 0 /* srcType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            goto 12
      StackMap locals: java.lang.Class
      StackMap stack:
        11: aload 1 /* dstType */
            iload 6 /* i */
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
      StackMap locals:
      StackMap stack: java.lang.Class
        12: astore 9 /* dst */
        start local 9 // java.lang.Class dst
        13: .line 372
            aload 8 /* src */
            aload 9 /* dst */
            iload 2 /* strict */
            invokestatic sun.invoke.util.VerifyType.isNullConversion:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
            ifne 15
        14: .line 373
            aload 5 /* convSpecs */
            iload 6 /* i */
            aload 8 /* src */
            aload 9 /* dst */
            iload 2 /* strict */
            iload 3 /* monobox */
            invokestatic java.lang.invoke.MethodHandleImpl.valueConversion:(Ljava/lang/Class;Ljava/lang/Class;ZZ)Ljava/lang/Object;
            aastore
        end local 9 // java.lang.Class dst
        end local 8 // java.lang.Class src
        end local 7 // boolean isRet
        15: .line 368
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* i */
            iload 4 /* INARG_COUNT */
            if_icmple 4
        end local 6 // int i
        17: .line 376
            aload 5 /* convSpecs */
            areturn
        end local 5 // java.lang.Object[] convSpecs
        end local 4 // int INARG_COUNT
        end local 3 // boolean monobox
        end local 2 // boolean strict
        end local 1 // java.lang.invoke.MethodType dstType
        end local 0 // java.lang.invoke.MethodType srcType
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0      srcType  Ljava/lang/invoke/MethodType;
            0   18     1      dstType  Ljava/lang/invoke/MethodType;
            0   18     2       strict  Z
            0   18     3      monobox  Z
            1   18     4  INARG_COUNT  I
            2   18     5    convSpecs  [Ljava/lang/Object;
            3   17     6            i  I
            7   15     7        isRet  Z
           10   15     8          src  Ljava/lang/Class<*>;
           13   15     9          dst  Ljava/lang/Class<*>;
    MethodParameters:
         Name  Flags
      srcType  
      dstType  
      strict   
      monobox  

  static java.lang.invoke.MethodHandle makePairwiseConvert(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, boolean);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.invoke.MethodHandle target
        start local 1 // java.lang.invoke.MethodType srcType
        start local 2 // boolean strict
         0: .line 380
            aload 0 /* target */
            aload 1 /* srcType */
            iload 2 /* strict */
            iconst_0
            invokestatic java.lang.invoke.MethodHandleImpl.makePairwiseConvert:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 2 // boolean strict
        end local 1 // java.lang.invoke.MethodType srcType
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0   target  Ljava/lang/invoke/MethodHandle;
            0    1     1  srcType  Ljava/lang/invoke/MethodType;
            0    1     2   strict  Z
    MethodParameters:
         Name  Flags
      target   
      srcType  
      strict   

  static  valueConversion(java.lang.Class<?>, java.lang.Class<?>, boolean, boolean);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;ZZ)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // java.lang.Class src
        start local 1 // java.lang.Class dst
        start local 2 // boolean strict
        start local 3 // boolean monobox
         0: .line 390
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 1
            aload 0 /* src */
            aload 1 /* dst */
            iload 2 /* strict */
            invokestatic sun.invoke.util.VerifyType.isNullConversion:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 391
      StackMap locals:
      StackMap stack:
            aload 1 /* dst */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 3
         2: .line 392
            aload 1 /* dst */
            areturn
         3: .line 394
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 19
         4: .line 395
            aload 0 /* src */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 6
         5: .line 396
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            areturn
         6: .line 397
      StackMap locals:
      StackMap stack:
            aload 1 /* dst */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 9
         7: .line 399
            aload 0 /* src */
            aload 1 /* dst */
            invokestatic sun.invoke.util.ValueConversions.convertPrimitive:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* fn */
        start local 4 // java.lang.invoke.MethodHandle fn
         8: .line 400
            goto 30
        end local 4 // java.lang.invoke.MethodHandle fn
         9: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
            astore 5 /* wsrc */
        start local 5 // sun.invoke.util.Wrapper wsrc
        10: .line 403
            aload 5 /* wsrc */
            invokestatic sun.invoke.util.ValueConversions.boxExact:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* fn */
        start local 4 // java.lang.invoke.MethodHandle fn
        11: .line 404
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 12
            aload 4 /* fn */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aload 5 /* wsrc */
            invokevirtual sun.invoke.util.Wrapper.primitiveType:()Ljava/lang/Class;
            if_acmpeq 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 405
      StackMap locals: java.lang.invoke.MethodHandle sun.invoke.util.Wrapper
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 13
            aload 4 /* fn */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            aload 5 /* wsrc */
            invokevirtual sun.invoke.util.Wrapper.wrapperType:()Ljava/lang/Class;
            if_acmpeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 406
      StackMap locals:
      StackMap stack:
            aload 5 /* wsrc */
            invokevirtual sun.invoke.util.Wrapper.wrapperType:()Ljava/lang/Class;
            aload 1 /* dst */
            iload 2 /* strict */
            invokestatic sun.invoke.util.VerifyType.isNullConversion:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
            ifne 30
        14: .line 408
            aload 1 /* dst */
            aload 0 /* src */
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 6 /* mt */
        start local 6 // java.lang.invoke.MethodType mt
        15: .line 409
            iload 2 /* strict */
            ifeq 17
        16: .line 410
            aload 4 /* fn */
            aload 6 /* mt */
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* fn */
            goto 30
        17: .line 412
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
            aload 4 /* fn */
            aload 6 /* mt */
            iconst_0
            invokestatic java.lang.invoke.MethodHandleImpl.makePairwiseConvert:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
            astore 4 /* fn */
        end local 6 // java.lang.invoke.MethodType mt
        end local 5 // sun.invoke.util.Wrapper wsrc
        18: .line 415
            goto 30
        end local 4 // java.lang.invoke.MethodHandle fn
      StackMap locals:
      StackMap stack:
        19: aload 1 /* dst */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 29
        20: .line 416
            aload 1 /* dst */
            invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
            astore 5 /* wdst */
        start local 5 // sun.invoke.util.Wrapper wdst
        21: .line 417
            iload 3 /* monobox */
            ifne 22
            aload 0 /* src */
            aload 5 /* wdst */
            invokevirtual sun.invoke.util.Wrapper.wrapperType:()Ljava/lang/Class;
            if_acmpne 24
        22: .line 419
      StackMap locals: java.lang.Class java.lang.Class int int top sun.invoke.util.Wrapper
      StackMap stack:
            aload 5 /* wdst */
            iload 2 /* strict */
            invokestatic sun.invoke.util.ValueConversions.unboxExact:(Lsun/invoke/util/Wrapper;Z)Ljava/lang/invoke/MethodHandle;
            astore 4 /* fn */
        start local 4 // java.lang.invoke.MethodHandle fn
        23: .line 420
            goto 30
        end local 4 // java.lang.invoke.MethodHandle fn
        24: .line 424
      StackMap locals:
      StackMap stack:
            iload 2 /* strict */
            ifeq 26
        25: .line 425
            aload 5 /* wdst */
            invokestatic sun.invoke.util.ValueConversions.unboxWiden:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
            goto 27
        26: .line 426
      StackMap locals:
      StackMap stack:
            aload 5 /* wdst */
            invokestatic sun.invoke.util.ValueConversions.unboxCast:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
        27: .line 424
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodHandle
            astore 4 /* fn */
        end local 5 // sun.invoke.util.Wrapper wdst
        start local 4 // java.lang.invoke.MethodHandle fn
        28: .line 428
            goto 30
        end local 4 // java.lang.invoke.MethodHandle fn
        29: .line 433
      StackMap locals: java.lang.Class java.lang.Class int int
      StackMap stack:
            aload 1 /* dst */
            areturn
        start local 4 // java.lang.invoke.MethodHandle fn
        30: .line 435
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 31
            aload 4 /* fn */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iconst_1
            if_icmple 31
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "pc"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* src */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* dst */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 4 /* fn */
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        31: .line 436
      StackMap locals:
      StackMap stack:
            aload 4 /* fn */
            areturn
        end local 4 // java.lang.invoke.MethodHandle fn
        end local 3 // boolean monobox
        end local 2 // boolean strict
        end local 1 // java.lang.Class dst
        end local 0 // java.lang.Class src
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   32     0      src  Ljava/lang/Class<*>;
            0   32     1      dst  Ljava/lang/Class<*>;
            0   32     2   strict  Z
            0   32     3  monobox  Z
            8    9     4       fn  Ljava/lang/invoke/MethodHandle;
           11   19     4       fn  Ljava/lang/invoke/MethodHandle;
           23   24     4       fn  Ljava/lang/invoke/MethodHandle;
           28   29     4       fn  Ljava/lang/invoke/MethodHandle;
           30   32     4       fn  Ljava/lang/invoke/MethodHandle;
           10   18     5     wsrc  Lsun/invoke/util/Wrapper;
           15   18     6       mt  Ljava/lang/invoke/MethodType;
           21   28     5     wdst  Lsun/invoke/util/Wrapper;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;ZZ)Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      src      
      dst      
      strict   
      monobox  

  static java.lang.invoke.MethodHandle makeVarargsCollector(java.lang.invoke.MethodHandle, java.lang.Class<?>);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.invoke.MethodHandle target
        start local 1 // java.lang.Class arrayType
         0: .line 440
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 2 /* type */
        start local 2 // java.lang.invoke.MethodType type
         1: .line 441
            aload 2 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iconst_1
            isub
            istore 3 /* last */
        start local 3 // int last
         2: .line 442
            aload 2 /* type */
            iload 3 /* last */
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aload 1 /* arrayType */
            if_acmpeq 4
         3: .line 443
            aload 0 /* target */
            aload 2 /* type */
            iload 3 /* last */
            aload 1 /* arrayType */
            invokevirtual java.lang.invoke.MethodType.changeParameterType:(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 0 /* target */
         4: .line 444
      StackMap locals: java.lang.invoke.MethodType int
      StackMap stack:
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.asFixedArity:()Ljava/lang/invoke/MethodHandle;
            astore 0 /* target */
         5: .line 445
            new java.lang.invoke.MethodHandleImpl$AsVarargsCollector
            dup
            aload 0 /* target */
            aload 1 /* arrayType */
            invokespecial java.lang.invoke.MethodHandleImpl$AsVarargsCollector.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)V
            areturn
        end local 3 // int last
        end local 2 // java.lang.invoke.MethodType type
        end local 1 // java.lang.Class arrayType
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0     target  Ljava/lang/invoke/MethodHandle;
            0    6     1  arrayType  Ljava/lang/Class<*>;
            1    6     2       type  Ljava/lang/invoke/MethodType;
            2    6     3       last  I
    Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
           Name  Flags
      target     
      arrayType  

  static java.lang.invoke.MethodHandle makeSpreadArguments(java.lang.invoke.MethodHandle, java.lang.Class<?>, int, int);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;II)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=15, args_size=4
        start local 0 // java.lang.invoke.MethodHandle target
        start local 1 // java.lang.Class spreadArgType
        start local 2 // int spreadArgPos
        start local 3 // int spreadArgCount
         0: .line 527
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 4 /* targetType */
        start local 4 // java.lang.invoke.MethodType targetType
         1: .line 529
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 7
         3: .line 530
      StackMap locals: java.lang.invoke.MethodType int
      StackMap stack:
            aload 1 /* spreadArgType */
            iload 5 /* i */
            invokestatic sun.invoke.util.VerifyType.spreadArgElementType:(Ljava/lang/Class;I)Ljava/lang/Class;
            astore 6 /* arg */
        start local 6 // java.lang.Class arg
         4: .line 531
            aload 6 /* arg */
            ifnonnull 5
            ldc Ljava/lang/Object;
            astore 6 /* arg */
         5: .line 532
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 4 /* targetType */
            iload 2 /* spreadArgPos */
            iload 5 /* i */
            iadd
            aload 6 /* arg */
            invokevirtual java.lang.invoke.MethodType.changeParameterType:(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 4 /* targetType */
        end local 6 // java.lang.Class arg
         6: .line 529
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            iload 3 /* spreadArgCount */
            if_icmplt 3
        end local 5 // int i
         8: .line 534
            aload 0 /* target */
            aload 4 /* targetType */
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 0 /* target */
         9: .line 536
            aload 4 /* targetType */
        10: .line 537
            iload 2 /* spreadArgPos */
            iload 2 /* spreadArgPos */
            iload 3 /* spreadArgCount */
            iadd
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 1 /* spreadArgType */
            aastore
            invokevirtual java.lang.invoke.MethodType.replaceParameterTypes:(II[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        11: .line 536
            astore 5 /* srcType */
        start local 5 // java.lang.invoke.MethodType srcType
        12: .line 539
            aload 5 /* srcType */
            invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
            astore 6 /* lambdaType */
        start local 6 // java.lang.invoke.MethodType lambdaType
        13: .line 540
            iload 3 /* spreadArgCount */
            iconst_2
            iadd
            aload 6 /* lambdaType */
            invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
            astore 7 /* names */
        start local 7 // java.lang.invoke.LambdaForm$Name[] names
        14: .line 541
            aload 6 /* lambdaType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 8 /* nameCursor */
        start local 8 // int nameCursor
        15: .line 542
            aload 4 /* targetType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            newarray 10
            astore 9 /* indexes */
        start local 9 // int[] indexes
        16: .line 544
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        17: iconst_1
            istore 11 /* argIndex */
        start local 11 // int argIndex
        18: goto 34
        19: .line 545
      StackMap locals: java.lang.invoke.MethodHandle java.lang.Class int int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[] int int[] int int
      StackMap stack:
            aload 6 /* lambdaType */
            iload 10 /* i */
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            pop
        20: .line 546
            iload 10 /* i */
            iload 2 /* spreadArgPos */
            if_icmpne 31
        21: .line 548
            aload 1 /* spreadArgType */
            invokestatic java.lang.invoke.MethodHandles.arrayElementGetter:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 12 /* aload */
        start local 12 // java.lang.invoke.MethodHandle aload
        22: .line 549
            aload 7 /* names */
            iload 11 /* argIndex */
            aaload
            astore 13 /* array */
        start local 13 // java.lang.invoke.LambdaForm$Name array
        23: .line 550
            aload 7 /* names */
            iload 8 /* nameCursor */
            iinc 8 /* nameCursor */ 1
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.NF_checkSpreadArgument:Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* array */
            aastore
            dup
            iconst_1
            iload 3 /* spreadArgCount */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        24: .line 551
            iconst_0
            istore 14 /* j */
        start local 14 // int j
        25: goto 29
        26: .line 552
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.LambdaForm$Name int
      StackMap stack:
            aload 9 /* indexes */
            iload 10 /* i */
            iload 8 /* nameCursor */
            iastore
        27: .line 553
            aload 7 /* names */
            iload 8 /* nameCursor */
            iinc 8 /* nameCursor */ 1
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 12 /* aload */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* array */
            aastore
            dup
            iconst_1
            iload 14 /* j */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            aastore
        28: .line 551
            iinc 10 /* i */ 1
            iinc 14 /* j */ 1
      StackMap locals:
      StackMap stack:
        29: iload 14 /* j */
            iload 3 /* spreadArgCount */
            if_icmplt 26
        end local 14 // int j
        end local 13 // java.lang.invoke.LambdaForm$Name array
        end local 12 // java.lang.invoke.MethodHandle aload
        30: .line 555
            goto 33
      StackMap locals:
      StackMap stack:
        31: iload 10 /* i */
            aload 9 /* indexes */
            arraylength
            if_icmpge 33
        32: .line 556
            aload 9 /* indexes */
            iload 10 /* i */
            iload 11 /* argIndex */
            iastore
        33: .line 544
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
            iinc 11 /* argIndex */ 1
      StackMap locals:
      StackMap stack:
        34: iload 10 /* i */
            aload 4 /* targetType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iconst_1
            iadd
            if_icmplt 19
        end local 11 // int argIndex
        end local 10 // int i
        35: .line 559
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 36
            iload 8 /* nameCursor */
            aload 7 /* names */
            arraylength
            iconst_1
            isub
            if_icmpeq 36
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        36: .line 562
      StackMap locals:
      StackMap stack:
            aload 4 /* targetType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            anewarray java.lang.invoke.LambdaForm$Name
            astore 10 /* targetArgs */
        start local 10 // java.lang.invoke.LambdaForm$Name[] targetArgs
        37: .line 563
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        38: goto 42
        39: .line 564
      StackMap locals: java.lang.invoke.LambdaForm$Name[] int
      StackMap stack:
            aload 9 /* indexes */
            iload 11 /* i */
            iaload
            istore 12 /* idx */
        start local 12 // int idx
        40: .line 565
            aload 10 /* targetArgs */
            iload 11 /* i */
            aload 7 /* names */
            iload 12 /* idx */
            aaload
            aastore
        end local 12 // int idx
        41: .line 563
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 11 /* i */
            aload 4 /* targetType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            if_icmplt 39
        end local 11 // int i
        43: .line 567
            aload 7 /* names */
            aload 7 /* names */
            arraylength
            iconst_1
            isub
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 0 /* target */
            aload 10 /* targetArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            aastore
        44: .line 569
            new java.lang.invoke.LambdaForm
            dup
            ldc "spread"
            aload 6 /* lambdaType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            aload 7 /* names */
            invokespecial java.lang.invoke.LambdaForm.<init>:(Ljava/lang/String;I[Ljava/lang/invoke/LambdaForm$Name;)V
            astore 11 /* form */
        start local 11 // java.lang.invoke.LambdaForm form
        45: .line 570
            aload 5 /* srcType */
            aload 11 /* form */
            invokestatic java.lang.invoke.SimpleMethodHandle.make:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle;
            areturn
        end local 11 // java.lang.invoke.LambdaForm form
        end local 10 // java.lang.invoke.LambdaForm$Name[] targetArgs
        end local 9 // int[] indexes
        end local 8 // int nameCursor
        end local 7 // java.lang.invoke.LambdaForm$Name[] names
        end local 6 // java.lang.invoke.MethodType lambdaType
        end local 5 // java.lang.invoke.MethodType srcType
        end local 4 // java.lang.invoke.MethodType targetType
        end local 3 // int spreadArgCount
        end local 2 // int spreadArgPos
        end local 1 // java.lang.Class spreadArgType
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   46     0          target  Ljava/lang/invoke/MethodHandle;
            0   46     1   spreadArgType  Ljava/lang/Class<*>;
            0   46     2    spreadArgPos  I
            0   46     3  spreadArgCount  I
            1   46     4      targetType  Ljava/lang/invoke/MethodType;
            2    8     5               i  I
            4    6     6             arg  Ljava/lang/Class<*>;
           12   46     5         srcType  Ljava/lang/invoke/MethodType;
           13   46     6      lambdaType  Ljava/lang/invoke/MethodType;
           14   46     7           names  [Ljava/lang/invoke/LambdaForm$Name;
           15   46     8      nameCursor  I
           16   46     9         indexes  [I
           17   35    10               i  I
           18   35    11        argIndex  I
           22   30    12           aload  Ljava/lang/invoke/MethodHandle;
           23   30    13           array  Ljava/lang/invoke/LambdaForm$Name;
           25   30    14               j  I
           37   46    10      targetArgs  [Ljava/lang/invoke/LambdaForm$Name;
           38   43    11               i  I
           40   41    12             idx  I
           45   46    11            form  Ljava/lang/invoke/LambdaForm;
    Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;II)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      target          
      spreadArgType   
      spreadArgPos    
      spreadArgCount  

  static void checkSpreadArgument(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Object av
        start local 1 // int n
         0: .line 574
            aload 0 /* av */
            ifnonnull 2
         1: .line 575
            iload 1 /* n */
            ifne 7
            return
         2: .line 576
      StackMap locals:
      StackMap stack:
            aload 0 /* av */
            instanceof java.lang.Object[]
            ifeq 5
         3: .line 577
            aload 0 /* av */
            checkcast java.lang.Object[]
            arraylength
            istore 2 /* len */
        start local 2 // int len
         4: .line 578
            iload 2 /* len */
            iload 1 /* n */
            if_icmpne 7
            return
        end local 2 // int len
         5: .line 580
      StackMap locals:
      StackMap stack:
            aload 0 /* av */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            istore 2 /* len */
        start local 2 // int len
         6: .line 581
            iload 2 /* len */
            iload 1 /* n */
            if_icmpne 7
            return
        end local 2 // int len
         7: .line 584
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "array is not of length "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* n */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.lang.invoke.MethodHandleStatics.newIllegalArgumentException:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // int n
        end local 0 // java.lang.Object av
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0    av  Ljava/lang/Object;
            0    8     1     n  I
            4    5     2   len  I
            6    7     2   len  I
    MethodParameters:
      Name  Flags
      av    
      n     

  static java.lang.invoke.MethodHandle makeCollectArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, int, boolean);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;IZ)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=20, args_size=4
        start local 0 // java.lang.invoke.MethodHandle target
        start local 1 // java.lang.invoke.MethodHandle collector
        start local 2 // int collectArgPos
        start local 3 // boolean retainOriginalArgs
         0: .line 649
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 4 /* targetType */
        start local 4 // java.lang.invoke.MethodType targetType
         1: .line 650
            aload 1 /* collector */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 5 /* collectorType */
        start local 5 // java.lang.invoke.MethodType collectorType
         2: .line 651
            aload 5 /* collectorType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 6 /* collectArgCount */
        start local 6 // int collectArgCount
         3: .line 652
            aload 5 /* collectorType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            astore 7 /* collectValType */
        start local 7 // java.lang.Class collectValType
         4: .line 653
            aload 7 /* collectValType */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 5
            iconst_0
            goto 6
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle int int java.lang.invoke.MethodType java.lang.invoke.MethodType int java.lang.Class
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 8 /* collectValCount */
        start local 8 // int collectValCount
         7: .line 654
            aload 4 /* targetType */
         8: .line 655
            iload 2 /* collectArgPos */
            iload 2 /* collectArgPos */
            iload 8 /* collectValCount */
            iadd
            invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
         9: .line 654
            astore 9 /* srcType */
        start local 9 // java.lang.invoke.MethodType srcType
        10: .line 656
            iload 3 /* retainOriginalArgs */
            ifne 12
        11: .line 657
            aload 9 /* srcType */
            iload 2 /* collectArgPos */
            aload 5 /* collectorType */
            invokevirtual java.lang.invoke.MethodType.parameterList:()Ljava/util/List;
            invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(ILjava/util/List;)Ljava/lang/invoke/MethodType;
            astore 9 /* srcType */
        12: .line 664
      StackMap locals: int java.lang.invoke.MethodType
      StackMap stack:
            aload 9 /* srcType */
            invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
            astore 10 /* lambdaType */
        start local 10 // java.lang.invoke.MethodType lambdaType
        13: .line 665
            iconst_2
            aload 10 /* lambdaType */
            invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
            astore 11 /* names */
        start local 11 // java.lang.invoke.LambdaForm$Name[] names
        14: .line 666
            aload 11 /* names */
            arraylength
            iconst_2
            isub
            istore 12 /* collectNamePos */
        start local 12 // int collectNamePos
        15: .line 667
            aload 11 /* names */
            arraylength
            iconst_1
            isub
            istore 13 /* targetNamePos */
        start local 13 // int targetNamePos
        16: .line 669
            aload 11 /* names */
            iconst_1
            iload 2 /* collectArgPos */
            iadd
            iconst_1
            iload 2 /* collectArgPos */
            iadd
            iload 6 /* collectArgCount */
            iadd
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
            checkcast java.lang.invoke.LambdaForm$Name[]
            astore 14 /* collectorArgs */
        start local 14 // java.lang.invoke.LambdaForm$Name[] collectorArgs
        17: .line 670
            aload 11 /* names */
            iload 12 /* collectNamePos */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 1 /* collector */
            aload 14 /* collectorArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            aastore
        18: .line 675
            aload 4 /* targetType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            anewarray java.lang.invoke.LambdaForm$Name
            astore 15 /* targetArgs */
        start local 15 // java.lang.invoke.LambdaForm$Name[] targetArgs
        19: .line 676
            iconst_1
            istore 16 /* inputArgPos */
        start local 16 // int inputArgPos
        20: .line 677
            iconst_0
            istore 17 /* targetArgPos */
        start local 17 // int targetArgPos
        21: .line 678
            iload 2 /* collectArgPos */
            istore 18 /* chunk */
        start local 18 // int chunk
        22: .line 679
            aload 11 /* names */
            iload 16 /* inputArgPos */
            aload 15 /* targetArgs */
            iload 17 /* targetArgPos */
            iload 18 /* chunk */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 680
            iload 16 /* inputArgPos */
            iload 18 /* chunk */
            iadd
            istore 16 /* inputArgPos */
        24: .line 681
            iload 17 /* targetArgPos */
            iload 18 /* chunk */
            iadd
            istore 17 /* targetArgPos */
        25: .line 682
            aload 7 /* collectValType */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpeq 27
        26: .line 683
            aload 15 /* targetArgs */
            iload 17 /* targetArgPos */
            iinc 17 /* targetArgPos */ 1
            aload 11 /* names */
            iload 12 /* collectNamePos */
            aaload
            aastore
        27: .line 685
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle int int java.lang.invoke.MethodType java.lang.invoke.MethodType int java.lang.Class int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[] int int java.lang.invoke.LambdaForm$Name[] java.lang.invoke.LambdaForm$Name[] int int int
      StackMap stack:
            iload 6 /* collectArgCount */
            istore 18 /* chunk */
        28: .line 686
            iload 3 /* retainOriginalArgs */
            ifeq 31
        29: .line 687
            aload 11 /* names */
            iload 16 /* inputArgPos */
            aload 15 /* targetArgs */
            iload 17 /* targetArgPos */
            iload 18 /* chunk */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        30: .line 688
            iload 17 /* targetArgPos */
            iload 18 /* chunk */
            iadd
            istore 17 /* targetArgPos */
        31: .line 690
      StackMap locals:
      StackMap stack:
            iload 16 /* inputArgPos */
            iload 18 /* chunk */
            iadd
            istore 16 /* inputArgPos */
        32: .line 691
            aload 15 /* targetArgs */
            arraylength
            iload 17 /* targetArgPos */
            isub
            istore 18 /* chunk */
        33: .line 692
            aload 11 /* names */
            iload 16 /* inputArgPos */
            aload 15 /* targetArgs */
            iload 17 /* targetArgPos */
            iload 18 /* chunk */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        34: .line 693
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 35
            iload 16 /* inputArgPos */
            iload 18 /* chunk */
            iadd
            iload 12 /* collectNamePos */
            if_icmpeq 35
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        35: .line 694
      StackMap locals:
      StackMap stack:
            aload 11 /* names */
            iload 13 /* targetNamePos */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 0 /* target */
            aload 15 /* targetArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            aastore
        36: .line 696
            new java.lang.invoke.LambdaForm
            dup
            ldc "collect"
            aload 10 /* lambdaType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            aload 11 /* names */
            invokespecial java.lang.invoke.LambdaForm.<init>:(Ljava/lang/String;I[Ljava/lang/invoke/LambdaForm$Name;)V
            astore 19 /* form */
        start local 19 // java.lang.invoke.LambdaForm form
        37: .line 697
            aload 9 /* srcType */
            aload 19 /* form */
            invokestatic java.lang.invoke.SimpleMethodHandle.make:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle;
            areturn
        end local 19 // java.lang.invoke.LambdaForm form
        end local 18 // int chunk
        end local 17 // int targetArgPos
        end local 16 // int inputArgPos
        end local 15 // java.lang.invoke.LambdaForm$Name[] targetArgs
        end local 14 // java.lang.invoke.LambdaForm$Name[] collectorArgs
        end local 13 // int targetNamePos
        end local 12 // int collectNamePos
        end local 11 // java.lang.invoke.LambdaForm$Name[] names
        end local 10 // java.lang.invoke.MethodType lambdaType
        end local 9 // java.lang.invoke.MethodType srcType
        end local 8 // int collectValCount
        end local 7 // java.lang.Class collectValType
        end local 6 // int collectArgCount
        end local 5 // java.lang.invoke.MethodType collectorType
        end local 4 // java.lang.invoke.MethodType targetType
        end local 3 // boolean retainOriginalArgs
        end local 2 // int collectArgPos
        end local 1 // java.lang.invoke.MethodHandle collector
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   38     0              target  Ljava/lang/invoke/MethodHandle;
            0   38     1           collector  Ljava/lang/invoke/MethodHandle;
            0   38     2       collectArgPos  I
            0   38     3  retainOriginalArgs  Z
            1   38     4          targetType  Ljava/lang/invoke/MethodType;
            2   38     5       collectorType  Ljava/lang/invoke/MethodType;
            3   38     6     collectArgCount  I
            4   38     7      collectValType  Ljava/lang/Class<*>;
            7   38     8     collectValCount  I
           10   38     9             srcType  Ljava/lang/invoke/MethodType;
           13   38    10          lambdaType  Ljava/lang/invoke/MethodType;
           14   38    11               names  [Ljava/lang/invoke/LambdaForm$Name;
           15   38    12      collectNamePos  I
           16   38    13       targetNamePos  I
           17   38    14       collectorArgs  [Ljava/lang/invoke/LambdaForm$Name;
           19   38    15          targetArgs  [Ljava/lang/invoke/LambdaForm$Name;
           20   38    16         inputArgPos  I
           21   38    17        targetArgPos  I
           22   38    18               chunk  I
           37   38    19                form  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
                    Name  Flags
      target              
      collector           
      collectArgPos       
      retainOriginalArgs  

  static java.lang.invoke.MethodHandle selectAlternative(boolean, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
    descriptor: (ZLjava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // boolean testResult
        start local 1 // java.lang.invoke.MethodHandle target
        start local 2 // java.lang.invoke.MethodHandle fallback
         0: .line 703
            iload 0 /* testResult */
            ifeq 2
         1: .line 704
            aload 1 /* target */
            areturn
         2: .line 706
      StackMap locals:
      StackMap stack:
            aload 2 /* fallback */
            areturn
        end local 2 // java.lang.invoke.MethodHandle fallback
        end local 1 // java.lang.invoke.MethodHandle target
        end local 0 // boolean testResult
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  testResult  Z
            0    3     1      target  Ljava/lang/invoke/MethodHandle;
            0    3     2    fallback  Ljava/lang/invoke/MethodHandle;
    RuntimeVisibleAnnotations: 
      java.lang.invoke.LambdaForm$Hidden()
    MethodParameters:
            Name  Flags
      testResult  
      target      
      fallback    

  static boolean profileBoolean(boolean, int[]);
    descriptor: (Z[I)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // boolean result
        start local 1 // int[] counters
         0: .line 715
            iload 0 /* result */
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* idx */
        start local 2 // int idx
         3: .line 717
            aload 1 /* counters */
            iload 2 /* idx */
            aload 1 /* counters */
            iload 2 /* idx */
            iaload
            iconst_1
            invokestatic java.lang.Math.addExact:(II)I
            iastore
         4: .line 718
            goto 7
      StackMap locals: int int[] int
      StackMap stack: java.lang.ArithmeticException
         5: pop
         6: .line 720
            aload 1 /* counters */
            iload 2 /* idx */
            aload 1 /* counters */
            iload 2 /* idx */
            iaload
            iconst_2
            idiv
            iastore
         7: .line 722
      StackMap locals:
      StackMap stack:
            iload 0 /* result */
            ireturn
        end local 2 // int idx
        end local 1 // int[] counters
        end local 0 // boolean result
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0    result  Z
            0    8     1  counters  [I
            3    8     2       idx  I
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.ArithmeticException
    RuntimeVisibleAnnotations: 
      java.lang.invoke.LambdaForm$Hidden()
    MethodParameters:
          Name  Flags
      result    
      counters  

  static java.lang.invoke.MethodHandle makeGuardWithTest(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // java.lang.invoke.MethodHandle test
        start local 1 // java.lang.invoke.MethodHandle target
        start local 2 // java.lang.invoke.MethodHandle fallback
         0: .line 729
            aload 1 /* target */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 3 /* type */
        start local 3 // java.lang.invoke.MethodType type
         1: .line 730
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 3
            aload 0 /* test */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 3 /* type */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
            ifeq 2
            aload 2 /* fallback */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
            ifne 3
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 731
      StackMap locals:
      StackMap stack:
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            astore 4 /* basicType */
        start local 4 // java.lang.invoke.MethodType basicType
         4: .line 732
            aload 4 /* basicType */
            invokestatic java.lang.invoke.MethodHandleImpl.makeGuardWithTestForm:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm;
            astore 5 /* form */
        start local 5 // java.lang.invoke.LambdaForm form
         5: .line 735
            getstatic java.lang.invoke.MethodHandleStatics.PROFILE_GWT:Z
            ifeq 12
         6: .line 736
            iconst_2
            newarray 10
            astore 7 /* counts */
        start local 7 // int[] counts
         7: .line 738
            invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.constructor:()Ljava/lang/invoke/MethodHandle;
            aload 3 /* type */
            aload 5 /* form */
         8: .line 739
            aload 0 /* test */
            aload 1 /* target */
            invokestatic java.lang.invoke.MethodHandleImpl.profile:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            aload 2 /* fallback */
            invokestatic java.lang.invoke.MethodHandleImpl.profile:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            aload 7 /* counts */
         9: .line 738
            invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[I)Ljava/lang/invoke/BoundMethodHandle;
        10: .line 737
            astore 6 /* mh */
        end local 7 // int[] counts
        start local 6 // java.lang.invoke.BoundMethodHandle mh
        11: .line 740
            goto 19
        end local 6 // java.lang.invoke.BoundMethodHandle mh
        12: .line 742
      StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm
      StackMap stack:
            invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.constructor:()Ljava/lang/invoke/MethodHandle;
            aload 3 /* type */
            aload 5 /* form */
        13: .line 743
            aload 0 /* test */
            aload 1 /* target */
            invokestatic java.lang.invoke.MethodHandleImpl.profile:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            aload 2 /* fallback */
            invokestatic java.lang.invoke.MethodHandleImpl.profile:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
        14: .line 742
            invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
        15: .line 741
            astore 6 /* mh */
        start local 6 // java.lang.invoke.BoundMethodHandle mh
        16: .line 745
            goto 19
        end local 6 // java.lang.invoke.BoundMethodHandle mh
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 7 /* ex */
        start local 7 // java.lang.Throwable ex
        18: .line 746
            aload 7 /* ex */
            invokestatic java.lang.invoke.MethodHandleStatics.uncaughtException:(Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
        end local 7 // java.lang.Throwable ex
        start local 6 // java.lang.invoke.BoundMethodHandle mh
        19: .line 748
      StackMap locals: java.lang.invoke.BoundMethodHandle
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 20
            aload 6 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 3 /* type */
            if_acmpeq 20
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 749
      StackMap locals:
      StackMap stack:
            aload 6 /* mh */
            areturn
        end local 6 // java.lang.invoke.BoundMethodHandle mh
        end local 5 // java.lang.invoke.LambdaForm form
        end local 4 // java.lang.invoke.MethodType basicType
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // java.lang.invoke.MethodHandle fallback
        end local 1 // java.lang.invoke.MethodHandle target
        end local 0 // java.lang.invoke.MethodHandle test
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       test  Ljava/lang/invoke/MethodHandle;
            0   21     1     target  Ljava/lang/invoke/MethodHandle;
            0   21     2   fallback  Ljava/lang/invoke/MethodHandle;
            1   21     3       type  Ljava/lang/invoke/MethodType;
            4   21     4  basicType  Ljava/lang/invoke/MethodType;
            5   21     5       form  Ljava/lang/invoke/LambdaForm;
           11   12     6         mh  Ljava/lang/invoke/BoundMethodHandle;
           16   17     6         mh  Ljava/lang/invoke/BoundMethodHandle;
           19   21     6         mh  Ljava/lang/invoke/BoundMethodHandle;
            7   11     7     counts  [I
           18   19     7         ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           5    16      17  Class java.lang.Throwable
    MethodParameters:
          Name  Flags
      test      
      target    
      fallback  

  static java.lang.invoke.MethodHandle profile(java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.MethodHandle target
         0: .line 755
            getstatic java.lang.invoke.MethodHandleStatics.DONT_INLINE_THRESHOLD:I
            iflt 2
         1: .line 756
            aload 0 /* target */
            invokestatic java.lang.invoke.MethodHandleImpl.makeBlockInlningWrapper:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            areturn
         2: .line 758
      StackMap locals:
      StackMap stack:
            aload 0 /* target */
            areturn
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  target  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      target  

  static java.lang.invoke.MethodHandle makeBlockInlningWrapper(java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // java.lang.invoke.MethodHandle target
         0: .line 768
            getstatic java.lang.invoke.MethodHandleImpl.PRODUCE_BLOCK_INLINING_FORM:Ljava/util/function/Function;
            aload 0 /* target */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.invoke.LambdaForm
            astore 1 /* lform */
        start local 1 // java.lang.invoke.LambdaForm lform
         1: .line 769
            new java.lang.invoke.MethodHandleImpl$CountingWrapper
            dup
            aload 0 /* target */
            aload 1 /* lform */
         2: .line 770
            getstatic java.lang.invoke.MethodHandleImpl.PRODUCE_BLOCK_INLINING_FORM:Ljava/util/function/Function;
            getstatic java.lang.invoke.MethodHandleImpl.PRODUCE_REINVOKER_FORM:Ljava/util/function/Function;
         3: .line 771
            getstatic java.lang.invoke.MethodHandleStatics.DONT_INLINE_THRESHOLD:I
         4: .line 769
            invokespecial java.lang.invoke.MethodHandleImpl$CountingWrapper.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/LambdaForm;Ljava/util/function/Function;Ljava/util/function/Function;I)V
            areturn
        end local 1 // java.lang.invoke.LambdaForm lform
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  target  Ljava/lang/invoke/MethodHandle;
            1    5     1   lform  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
        Name  Flags
      target  

  static java.lang.invoke.LambdaForm makeGuardWithTestForm(java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=10, locals=18, args_size=1
        start local 0 // java.lang.invoke.MethodType basicType
         0: .line 877
            aload 0 /* basicType */
            invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
            bipush 17
            invokevirtual java.lang.invoke.MethodTypeForm.cachedLambdaForm:(I)Ljava/lang/invoke/LambdaForm;
            astore 1 /* lform */
        start local 1 // java.lang.invoke.LambdaForm lform
         1: .line 878
            aload 1 /* lform */
            ifnull 2
            aload 1 /* lform */
            areturn
         2: .line 881
      StackMap locals: java.lang.invoke.LambdaForm
      StackMap stack:
            iconst_1
            aload 0 /* basicType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iadd
            istore 2 /* ARG_LIMIT */
        start local 2 // int ARG_LIMIT
         3: .line 882
            iload 2 /* ARG_LIMIT */
            istore 3 /* nameCursor */
        start local 3 // int nameCursor
         4: .line 883
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 4 /* GET_TEST */
        start local 4 // int GET_TEST
         5: .line 884
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 5 /* GET_TARGET */
        start local 5 // int GET_TARGET
         6: .line 885
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 6 /* GET_FALLBACK */
        start local 6 // int GET_FALLBACK
         7: .line 886
            getstatic java.lang.invoke.MethodHandleStatics.PROFILE_GWT:Z
            ifeq 8
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            goto 9
      StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm int int int int int
      StackMap stack:
         8: iconst_m1
      StackMap locals:
      StackMap stack: int
         9: istore 7 /* GET_COUNTERS */
        start local 7 // int GET_COUNTERS
        10: .line 887
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 8 /* CALL_TEST */
        start local 8 // int CALL_TEST
        11: .line 888
            iload 7 /* GET_COUNTERS */
            iconst_m1
            if_icmpeq 12
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            goto 13
      StackMap locals: int int
      StackMap stack:
        12: iconst_m1
      StackMap locals:
      StackMap stack: int
        13: istore 9 /* PROFILE */
        start local 9 // int PROFILE
        14: .line 889
            iload 3 /* nameCursor */
            iconst_1
            isub
            istore 10 /* TEST */
        start local 10 // int TEST
        15: .line 890
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 11 /* SELECT_ALT */
        start local 11 // int SELECT_ALT
        16: .line 891
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 12 /* CALL_TARGET */
        start local 12 // int CALL_TARGET
        17: .line 892
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 18
            iload 12 /* CALL_TARGET */
            iload 11 /* SELECT_ALT */
            iconst_1
            iadd
            if_icmpeq 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 894
      StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm int int int int int int int int int int int
      StackMap stack:
            aload 0 /* basicType */
            invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
            astore 13 /* lambdaType */
        start local 13 // java.lang.invoke.MethodType lambdaType
        19: .line 895
            iload 3 /* nameCursor */
            iload 2 /* ARG_LIMIT */
            isub
            aload 13 /* lambdaType */
            invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
            astore 14 /* names */
        start local 14 // java.lang.invoke.LambdaForm$Name[] names
        20: .line 898
            iload 7 /* GET_COUNTERS */
            iconst_m1
            if_icmpeq 21
            invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            goto 22
        21: .line 899
      StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[]
      StackMap stack:
            invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
        22: .line 897
      StackMap locals:
      StackMap stack: java.lang.invoke.BoundMethodHandle$SpeciesData
            astore 15 /* data */
        start local 15 // java.lang.invoke.BoundMethodHandle$SpeciesData data
        23: .line 900
            aload 14 /* names */
            iconst_0
            aload 14 /* names */
            iconst_0
            aaload
            aload 15 /* data */
            invokevirtual java.lang.invoke.LambdaForm$Name.withConstraint:(Ljava/lang/Object;)Ljava/lang/invoke/LambdaForm$Name;
            aastore
        24: .line 901
            aload 14 /* names */
            iload 4 /* GET_TEST */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 15 /* data */
            iconst_0
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 14 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        25: .line 902
            aload 14 /* names */
            iload 5 /* GET_TARGET */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 15 /* data */
            iconst_1
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 14 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        26: .line 903
            aload 14 /* names */
            iload 6 /* GET_FALLBACK */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 15 /* data */
            iconst_2
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 14 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        27: .line 904
            iload 7 /* GET_COUNTERS */
            iconst_m1
            if_icmpeq 29
        28: .line 905
            aload 14 /* names */
            iload 7 /* GET_COUNTERS */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 15 /* data */
            iconst_3
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 14 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        29: .line 907
      StackMap locals: java.lang.invoke.BoundMethodHandle$SpeciesData
      StackMap stack:
            aload 14 /* names */
            iconst_0
            iload 2 /* ARG_LIMIT */
            ldc [Ljava/lang/Object;
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;
            astore 16 /* invokeArgs */
        start local 16 // java.lang.Object[] invokeArgs
        30: .line 910
            aload 0 /* basicType */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            astore 17 /* testType */
        start local 17 // java.lang.invoke.MethodType testType
        31: .line 911
            aload 16 /* invokeArgs */
            iconst_0
            aload 14 /* names */
            iload 4 /* GET_TEST */
            aaload
            aastore
        32: .line 912
            aload 14 /* names */
            iload 8 /* CALL_TEST */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 17 /* testType */
            aload 16 /* invokeArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)V
            aastore
        33: .line 915
            iload 9 /* PROFILE */
            iconst_m1
            if_icmpeq 35
        34: .line 916
            aload 14 /* names */
            iload 9 /* PROFILE */
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.NF_profileBoolean:Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 14 /* names */
            iload 8 /* CALL_TEST */
            aaload
            aastore
            dup
            iconst_1
            aload 14 /* names */
            iload 7 /* GET_COUNTERS */
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        35: .line 919
      StackMap locals: java.lang.Object[] java.lang.invoke.MethodType
      StackMap stack:
            aload 14 /* names */
            iload 11 /* SELECT_ALT */
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.MH_selectAlternative:Ljava/lang/invoke/MethodHandle;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 14 /* names */
            iload 10 /* TEST */
            aaload
            aastore
            dup
            iconst_1
            aload 14 /* names */
            iload 5 /* GET_TARGET */
            aaload
            aastore
            dup
            iconst_2
            aload 14 /* names */
            iload 6 /* GET_FALLBACK */
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            aastore
        36: .line 922
            aload 16 /* invokeArgs */
            iconst_0
            aload 14 /* names */
            iload 11 /* SELECT_ALT */
            aaload
            aastore
        37: .line 923
            aload 14 /* names */
            iload 12 /* CALL_TARGET */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 0 /* basicType */
            aload 16 /* invokeArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)V
            aastore
        38: .line 925
            new java.lang.invoke.LambdaForm
            dup
            ldc "guard"
            aload 13 /* lambdaType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            aload 14 /* names */
            iconst_1
            invokespecial java.lang.invoke.LambdaForm.<init>:(Ljava/lang/String;I[Ljava/lang/invoke/LambdaForm$Name;Z)V
            astore 1 /* lform */
        39: .line 927
            aload 0 /* basicType */
            invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
            bipush 17
            aload 1 /* lform */
            invokevirtual java.lang.invoke.MethodTypeForm.setCachedLambdaForm:(ILjava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
            areturn
        end local 17 // java.lang.invoke.MethodType testType
        end local 16 // java.lang.Object[] invokeArgs
        end local 15 // java.lang.invoke.BoundMethodHandle$SpeciesData data
        end local 14 // java.lang.invoke.LambdaForm$Name[] names
        end local 13 // java.lang.invoke.MethodType lambdaType
        end local 12 // int CALL_TARGET
        end local 11 // int SELECT_ALT
        end local 10 // int TEST
        end local 9 // int PROFILE
        end local 8 // int CALL_TEST
        end local 7 // int GET_COUNTERS
        end local 6 // int GET_FALLBACK
        end local 5 // int GET_TARGET
        end local 4 // int GET_TEST
        end local 3 // int nameCursor
        end local 2 // int ARG_LIMIT
        end local 1 // java.lang.invoke.LambdaForm lform
        end local 0 // java.lang.invoke.MethodType basicType
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   40     0     basicType  Ljava/lang/invoke/MethodType;
            1   40     1         lform  Ljava/lang/invoke/LambdaForm;
            3   40     2     ARG_LIMIT  I
            4   40     3    nameCursor  I
            5   40     4      GET_TEST  I
            6   40     5    GET_TARGET  I
            7   40     6  GET_FALLBACK  I
           10   40     7  GET_COUNTERS  I
           11   40     8     CALL_TEST  I
           14   40     9       PROFILE  I
           15   40    10          TEST  I
           16   40    11    SELECT_ALT  I
           17   40    12   CALL_TARGET  I
           19   40    13    lambdaType  Ljava/lang/invoke/MethodType;
           20   40    14         names  [Ljava/lang/invoke/LambdaForm$Name;
           23   40    15          data  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
           30   40    16    invokeArgs  [Ljava/lang/Object;
           31   40    17      testType  Ljava/lang/invoke/MethodType;
    MethodParameters:
           Name  Flags
      basicType  

  private static java.lang.invoke.LambdaForm makeGuardWithCatchForm(java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=21, args_size=1
        start local 0 // java.lang.invoke.MethodType basicType
         0: .line 952
            aload 0 /* basicType */
            invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
            astore 1 /* lambdaType */
        start local 1 // java.lang.invoke.MethodType lambdaType
         1: .line 954
            aload 0 /* basicType */
            invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
            bipush 16
            invokevirtual java.lang.invoke.MethodTypeForm.cachedLambdaForm:(I)Ljava/lang/invoke/LambdaForm;
            astore 2 /* lform */
        start local 2 // java.lang.invoke.LambdaForm lform
         2: .line 955
            aload 2 /* lform */
            ifnull 4
         3: .line 956
            aload 2 /* lform */
            areturn
         4: .line 960
      StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm
      StackMap stack:
            iconst_1
            aload 0 /* basicType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iadd
            istore 3 /* ARG_LIMIT */
        start local 3 // int ARG_LIMIT
         5: .line 962
            iload 3 /* ARG_LIMIT */
            istore 4 /* nameCursor */
        start local 4 // int nameCursor
         6: .line 963
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 5 /* GET_TARGET */
        start local 5 // int GET_TARGET
         7: .line 964
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 6 /* GET_CLASS */
        start local 6 // int GET_CLASS
         8: .line 965
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 7 /* GET_CATCHER */
        start local 7 // int GET_CATCHER
         9: .line 966
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 8 /* GET_COLLECT_ARGS */
        start local 8 // int GET_COLLECT_ARGS
        10: .line 967
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 9 /* GET_UNBOX_RESULT */
        start local 9 // int GET_UNBOX_RESULT
        11: .line 968
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 10 /* BOXED_ARGS */
        start local 10 // int BOXED_ARGS
        12: .line 969
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 11 /* TRY_CATCH */
        start local 11 // int TRY_CATCH
        13: .line 970
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 12 /* UNBOX_RESULT */
        start local 12 // int UNBOX_RESULT
        14: .line 972
            iload 4 /* nameCursor */
            iload 3 /* ARG_LIMIT */
            isub
            aload 1 /* lambdaType */
            invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
            astore 13 /* names */
        start local 13 // java.lang.invoke.LambdaForm$Name[] names
        15: .line 974
            invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLLLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            astore 14 /* data */
        start local 14 // java.lang.invoke.BoundMethodHandle$SpeciesData data
        16: .line 975
            aload 13 /* names */
            iconst_0
            aload 13 /* names */
            iconst_0
            aaload
            aload 14 /* data */
            invokevirtual java.lang.invoke.LambdaForm$Name.withConstraint:(Ljava/lang/Object;)Ljava/lang/invoke/LambdaForm$Name;
            aastore
        17: .line 976
            aload 13 /* names */
            iload 5 /* GET_TARGET */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 14 /* data */
            iconst_0
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        18: .line 977
            aload 13 /* names */
            iload 6 /* GET_CLASS */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 14 /* data */
            iconst_1
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        19: .line 978
            aload 13 /* names */
            iload 7 /* GET_CATCHER */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 14 /* data */
            iconst_2
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        20: .line 979
            aload 13 /* names */
            iload 8 /* GET_COLLECT_ARGS */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 14 /* data */
            iconst_3
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        21: .line 980
            aload 13 /* names */
            iload 9 /* GET_UNBOX_RESULT */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 14 /* data */
            iconst_4
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        22: .line 985
            aload 0 /* basicType */
            ldc Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 15 /* collectArgsType */
        start local 15 // java.lang.invoke.MethodType collectArgsType
        23: .line 986
            aload 15 /* collectArgsType */
            invokestatic java.lang.invoke.MethodHandles.basicInvoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 16 /* invokeBasic */
        start local 16 // java.lang.invoke.MethodHandle invokeBasic
        24: .line 987
            aload 16 /* invokeBasic */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            anewarray java.lang.Object
            astore 17 /* args */
        start local 17 // java.lang.Object[] args
        25: .line 988
            aload 17 /* args */
            iconst_0
            aload 13 /* names */
            iload 8 /* GET_COLLECT_ARGS */
            aaload
            aastore
        26: .line 989
            aload 13 /* names */
            iconst_1
            aload 17 /* args */
            iconst_1
            iload 3 /* ARG_LIMIT */
            iconst_1
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        27: .line 990
            aload 13 /* names */
            iload 10 /* BOXED_ARGS */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 16 /* invokeBasic */
            getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.GUARD_WITH_CATCH:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokestatic java.lang.invoke.MethodHandleImpl.makeIntrinsic:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)Ljava/lang/invoke/MethodHandle;
            aload 17 /* args */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            aastore
        28: .line 993
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* names */
            iload 5 /* GET_TARGET */
            aaload
            aastore
            dup
            iconst_1
            aload 13 /* names */
            iload 6 /* GET_CLASS */
            aaload
            aastore
            dup
            iconst_2
            aload 13 /* names */
            iload 7 /* GET_CATCHER */
            aaload
            aastore
            dup
            iconst_3
            aload 13 /* names */
            iload 10 /* BOXED_ARGS */
            aaload
            aastore
            astore 18 /* gwcArgs */
        start local 18 // java.lang.Object[] gwcArgs
        29: .line 994
            aload 13 /* names */
            iload 11 /* TRY_CATCH */
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.NF_guardWithCatch:Ljava/lang/invoke/LambdaForm$NamedFunction;
            aload 18 /* gwcArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        30: .line 997
            aload 0 /* basicType */
            invokevirtual java.lang.invoke.MethodType.rtype:()Ljava/lang/Class;
            ldc Ljava/lang/Object;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokestatic java.lang.invoke.MethodHandles.basicInvoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 19 /* invokeBasicUnbox */
        start local 19 // java.lang.invoke.MethodHandle invokeBasicUnbox
        31: .line 998
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* names */
            iload 9 /* GET_UNBOX_RESULT */
            aaload
            aastore
            dup
            iconst_1
            aload 13 /* names */
            iload 11 /* TRY_CATCH */
            aaload
            aastore
            astore 20 /* unboxArgs */
        start local 20 // java.lang.Object[] unboxArgs
        32: .line 999
            aload 13 /* names */
            iload 12 /* UNBOX_RESULT */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 19 /* invokeBasicUnbox */
            aload 20 /* unboxArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            aastore
        33: .line 1001
            new java.lang.invoke.LambdaForm
            dup
            ldc "guardWithCatch"
            aload 1 /* lambdaType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            aload 13 /* names */
            invokespecial java.lang.invoke.LambdaForm.<init>:(Ljava/lang/String;I[Ljava/lang/invoke/LambdaForm$Name;)V
            astore 2 /* lform */
        34: .line 1003
            aload 0 /* basicType */
            invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
            bipush 16
            aload 2 /* lform */
            invokevirtual java.lang.invoke.MethodTypeForm.setCachedLambdaForm:(ILjava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
            areturn
        end local 20 // java.lang.Object[] unboxArgs
        end local 19 // java.lang.invoke.MethodHandle invokeBasicUnbox
        end local 18 // java.lang.Object[] gwcArgs
        end local 17 // java.lang.Object[] args
        end local 16 // java.lang.invoke.MethodHandle invokeBasic
        end local 15 // java.lang.invoke.MethodType collectArgsType
        end local 14 // java.lang.invoke.BoundMethodHandle$SpeciesData data
        end local 13 // java.lang.invoke.LambdaForm$Name[] names
        end local 12 // int UNBOX_RESULT
        end local 11 // int TRY_CATCH
        end local 10 // int BOXED_ARGS
        end local 9 // int GET_UNBOX_RESULT
        end local 8 // int GET_COLLECT_ARGS
        end local 7 // int GET_CATCHER
        end local 6 // int GET_CLASS
        end local 5 // int GET_TARGET
        end local 4 // int nameCursor
        end local 3 // int ARG_LIMIT
        end local 2 // java.lang.invoke.LambdaForm lform
        end local 1 // java.lang.invoke.MethodType lambdaType
        end local 0 // java.lang.invoke.MethodType basicType
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   35     0         basicType  Ljava/lang/invoke/MethodType;
            1   35     1        lambdaType  Ljava/lang/invoke/MethodType;
            2   35     2             lform  Ljava/lang/invoke/LambdaForm;
            5   35     3         ARG_LIMIT  I
            6   35     4        nameCursor  I
            7   35     5        GET_TARGET  I
            8   35     6         GET_CLASS  I
            9   35     7       GET_CATCHER  I
           10   35     8  GET_COLLECT_ARGS  I
           11   35     9  GET_UNBOX_RESULT  I
           12   35    10        BOXED_ARGS  I
           13   35    11         TRY_CATCH  I
           14   35    12      UNBOX_RESULT  I
           15   35    13             names  [Ljava/lang/invoke/LambdaForm$Name;
           16   35    14              data  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
           23   35    15   collectArgsType  Ljava/lang/invoke/MethodType;
           24   35    16       invokeBasic  Ljava/lang/invoke/MethodHandle;
           25   35    17              args  [Ljava/lang/Object;
           29   35    18           gwcArgs  [Ljava/lang/Object;
           31   35    19  invokeBasicUnbox  Ljava/lang/invoke/MethodHandle;
           32   35    20         unboxArgs  [Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      basicType  

  static java.lang.invoke.MethodHandle makeGuardWithCatch(java.lang.invoke.MethodHandle, java.lang.Class<? extends java.lang.Throwable>, java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=12, args_size=3
        start local 0 // java.lang.invoke.MethodHandle target
        start local 1 // java.lang.Class exType
        start local 2 // java.lang.invoke.MethodHandle catcher
         0: .line 1010
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 3 /* type */
        start local 3 // java.lang.invoke.MethodType type
         1: .line 1011
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            invokestatic java.lang.invoke.MethodHandleImpl.makeGuardWithCatchForm:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm;
            astore 4 /* form */
        start local 4 // java.lang.invoke.LambdaForm form
         2: .line 1015
            aload 3 /* type */
            ldc [Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 5 /* varargsType */
        start local 5 // java.lang.invoke.MethodType varargsType
         3: .line 1016
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            invokestatic java.lang.invoke.MethodHandleImpl.varargsArray:(I)Ljava/lang/invoke/MethodHandle;
            aload 5 /* varargsType */
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* collectArgs */
        start local 6 // java.lang.invoke.MethodHandle collectArgs
         4: .line 1019
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            astore 8 /* rtype */
        start local 8 // java.lang.Class rtype
         5: .line 1020
            aload 8 /* rtype */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 12
         6: .line 1021
            aload 8 /* rtype */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 9
         7: .line 1022
            invokestatic sun.invoke.util.ValueConversions.ignore:()Ljava/lang/invoke/MethodHandle;
            astore 7 /* unboxResult */
        start local 7 // java.lang.invoke.MethodHandle unboxResult
         8: .line 1023
            goto 13
        end local 7 // java.lang.invoke.MethodHandle unboxResult
         9: .line 1024
      StackMap locals: java.lang.invoke.MethodHandle java.lang.Class java.lang.invoke.MethodHandle java.lang.invoke.MethodType java.lang.invoke.LambdaForm java.lang.invoke.MethodType java.lang.invoke.MethodHandle top java.lang.Class
      StackMap stack:
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
            astore 9 /* w */
        start local 9 // sun.invoke.util.Wrapper w
        10: .line 1025
            aload 9 /* w */
            invokestatic sun.invoke.util.ValueConversions.unboxExact:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
            astore 7 /* unboxResult */
        end local 9 // sun.invoke.util.Wrapper w
        start local 7 // java.lang.invoke.MethodHandle unboxResult
        11: .line 1027
            goto 13
        end local 7 // java.lang.invoke.MethodHandle unboxResult
        12: .line 1028
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Object;
            invokestatic java.lang.invoke.MethodHandles.identity:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 7 /* unboxResult */
        start local 7 // java.lang.invoke.MethodHandle unboxResult
        13: .line 1031
      StackMap locals: java.lang.invoke.MethodHandle java.lang.Class java.lang.invoke.MethodHandle java.lang.invoke.MethodType java.lang.invoke.LambdaForm java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.Class
      StackMap stack:
            invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLLLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            astore 9 /* data */
        start local 9 // java.lang.invoke.BoundMethodHandle$SpeciesData data
        14: .line 1035
            aload 9 /* data */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.constructor:()Ljava/lang/invoke/MethodHandle;
            aload 3 /* type */
            aload 4 /* form */
            aload 0 /* target */
            aload 1 /* exType */
            aload 2 /* catcher */
        15: .line 1036
            aload 6 /* collectArgs */
            aload 7 /* unboxResult */
        16: .line 1035
            invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
        17: .line 1034
            astore 10 /* mh */
        start local 10 // java.lang.invoke.BoundMethodHandle mh
        18: .line 1037
            goto 21
        end local 10 // java.lang.invoke.BoundMethodHandle mh
      StackMap locals: java.lang.invoke.MethodHandle java.lang.Class java.lang.invoke.MethodHandle java.lang.invoke.MethodType java.lang.invoke.LambdaForm java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.Class java.lang.invoke.BoundMethodHandle$SpeciesData
      StackMap stack: java.lang.Throwable
        19: astore 11 /* ex */
        start local 11 // java.lang.Throwable ex
        20: .line 1038
            aload 11 /* ex */
            invokestatic java.lang.invoke.MethodHandleStatics.uncaughtException:(Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
        end local 11 // java.lang.Throwable ex
        start local 10 // java.lang.invoke.BoundMethodHandle mh
        21: .line 1040
      StackMap locals: java.lang.invoke.BoundMethodHandle
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 22
            aload 10 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 3 /* type */
            if_acmpeq 22
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        22: .line 1041
      StackMap locals:
      StackMap stack:
            aload 10 /* mh */
            areturn
        end local 10 // java.lang.invoke.BoundMethodHandle mh
        end local 9 // java.lang.invoke.BoundMethodHandle$SpeciesData data
        end local 8 // java.lang.Class rtype
        end local 7 // java.lang.invoke.MethodHandle unboxResult
        end local 6 // java.lang.invoke.MethodHandle collectArgs
        end local 5 // java.lang.invoke.MethodType varargsType
        end local 4 // java.lang.invoke.LambdaForm form
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // java.lang.invoke.MethodHandle catcher
        end local 1 // java.lang.Class exType
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0       target  Ljava/lang/invoke/MethodHandle;
            0   23     1       exType  Ljava/lang/Class<+Ljava/lang/Throwable;>;
            0   23     2      catcher  Ljava/lang/invoke/MethodHandle;
            1   23     3         type  Ljava/lang/invoke/MethodType;
            2   23     4         form  Ljava/lang/invoke/LambdaForm;
            3   23     5  varargsType  Ljava/lang/invoke/MethodType;
            4   23     6  collectArgs  Ljava/lang/invoke/MethodHandle;
            8    9     7  unboxResult  Ljava/lang/invoke/MethodHandle;
           11   12     7  unboxResult  Ljava/lang/invoke/MethodHandle;
           13   23     7  unboxResult  Ljava/lang/invoke/MethodHandle;
            5   23     8        rtype  Ljava/lang/Class<*>;
           10   11     9            w  Lsun/invoke/util/Wrapper;
           14   23     9         data  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
           18   19    10           mh  Ljava/lang/invoke/BoundMethodHandle;
           21   23    10           mh  Ljava/lang/invoke/BoundMethodHandle;
           20   21    11           ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          14    18      19  Class java.lang.Throwable
    Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<+Ljava/lang/Throwable;>;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
         Name  Flags
      target   
      exType   
      catcher  

  static  guardWithCatch(java.lang.invoke.MethodHandle, java.lang.Class<? extends java.lang.Throwable>, java.lang.invoke.MethodHandle, []);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // java.lang.invoke.MethodHandle target
        start local 1 // java.lang.Class exType
        start local 2 // java.lang.invoke.MethodHandle catcher
        start local 3 // java.lang.Object[] av
         0: .line 1053
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.asFixedArity:()Ljava/lang/invoke/MethodHandle;
            aload 3 /* av */
            invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
         1: areturn
         2: .line 1054
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4 /* t */
        start local 4 // java.lang.Throwable t
         3: .line 1055
            aload 1 /* exType */
            aload 4 /* t */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 4
            aload 4 /* t */
            athrow
         4: .line 1056
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 2 /* catcher */
            invokevirtual java.lang.invoke.MethodHandle.asFixedArity:()Ljava/lang/invoke/MethodHandle;
            aload 4 /* t */
            aload 3 /* av */
            invokestatic java.lang.invoke.MethodHandleImpl.prepend:(Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // java.lang.Throwable t
        end local 3 // java.lang.Object[] av
        end local 2 // java.lang.invoke.MethodHandle catcher
        end local 1 // java.lang.Class exType
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0   target  Ljava/lang/invoke/MethodHandle;
            0    5     1   exType  Ljava/lang/Class<+Ljava/lang/Throwable;>;
            0    5     2  catcher  Ljava/lang/invoke/MethodHandle;
            0    5     3       av  [Ljava/lang/Object;
            3    5     4        t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    Exceptions:
      throws java.lang.Throwable
    Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<+Ljava/lang/Throwable;>;Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      java.lang.invoke.LambdaForm$Hidden()
    MethodParameters:
         Name  Flags
      target   
      exType   
      catcher  
      av       

  private static java.lang.Object[] prepend(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.Object elem
        start local 1 // java.lang.Object[] array
         0: .line 1063
            aload 1 /* array */
            arraylength
            iconst_1
            iadd
            anewarray java.lang.Object
            astore 2 /* newArray */
        start local 2 // java.lang.Object[] newArray
         1: .line 1064
            aload 2 /* newArray */
            iconst_0
            aload 0 /* elem */
            aastore
         2: .line 1065
            aload 1 /* array */
            iconst_0
            aload 2 /* newArray */
            iconst_1
            aload 1 /* array */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 1066
            aload 2 /* newArray */
            areturn
        end local 2 // java.lang.Object[] newArray
        end local 1 // java.lang.Object[] array
        end local 0 // java.lang.Object elem
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      elem  Ljava/lang/Object;
            0    4     1     array  [Ljava/lang/Object;
            1    4     2  newArray  [Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      java.lang.invoke.LambdaForm$Hidden()
    MethodParameters:
       Name  Flags
      elem   
      array  

  static java.lang.invoke.MethodHandle throwException(java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.lang.invoke.MethodType type
         0: .line 1071
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 1
            ldc Ljava/lang/Throwable;
            aload 0 /* type */
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1072
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 1 /* arity */
        start local 1 // int arity
         2: .line 1073
            iload 1 /* arity */
            iconst_1
            if_icmple 6
         3: .line 1074
            aload 0 /* type */
            iconst_1
            iload 1 /* arity */
            invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
            invokestatic java.lang.invoke.MethodHandleImpl.throwException:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* mh */
        start local 2 // java.lang.invoke.MethodHandle mh
         4: .line 1075
            aload 2 /* mh */
            iconst_1
            aload 0 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterList:()Ljava/util/List;
            iconst_1
            iload 1 /* arity */
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;ILjava/util/List;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* mh */
         5: .line 1076
            aload 2 /* mh */
            areturn
        end local 2 // java.lang.invoke.MethodHandle mh
         6: .line 1078
      StackMap locals: int
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.NF_throwException:Ljava/lang/invoke/LambdaForm$NamedFunction;
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:()Ljava/lang/invoke/MethodHandle;
            aload 0 /* type */
            iconst_0
            iconst_1
            invokestatic java.lang.invoke.MethodHandleImpl.makePairwiseConvert:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // int arity
        end local 0 // java.lang.invoke.MethodType type
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   type  Ljava/lang/invoke/MethodType;
            2    7     1  arity  I
            4    6     2     mh  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      type  

  static <T extends java.lang.Throwable> sun.invoke.empty.Empty throwException(T) throws T;
    descriptor: (Ljava/lang/Throwable;)Lsun/invoke/empty/Empty;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 1081
            aload 0 /* t */
            athrow
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  TT;
    Exceptions:
      throws java.lang.Throwable
    Signature: <T:Ljava/lang/Throwable;>(TT;)Lsun/invoke/empty/Empty;^TT;
    MethodParameters:
      Name  Flags
      t     

  static java.lang.invoke.MethodHandle fakeMethodHandleInvoke(java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // java.lang.invoke.MemberName method
         0: .line 1086
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 1
            aload 0 /* method */
            invokevirtual java.lang.invoke.MemberName.isMethodHandleInvoke:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1087
      StackMap locals:
      StackMap stack:
            aload 0 /* method */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            dup
            astore 2
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 2
          -1183693704: 2
            941760871: 3
              default: 8
          }
      StackMap locals: java.lang.invoke.MemberName top java.lang.String
      StackMap stack:
         2: aload 2
            ldc "invoke"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
            goto 8
      StackMap locals:
      StackMap stack:
         3: aload 2
            ldc "invokeExact"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            goto 8
         4: .line 1088
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* idx */
        start local 1 // int idx
         5: goto 9
        end local 1 // int idx
         6: .line 1089
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* idx */
        start local 1 // int idx
         7: goto 9
        end local 1 // int idx
         8: .line 1090
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            aload 0 /* method */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        start local 1 // int idx
         9: .line 1092
      StackMap locals: java.lang.invoke.MemberName int
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.FAKE_METHOD_HANDLE_INVOKE:[Ljava/lang/invoke/MethodHandle;
            iload 1 /* idx */
            aaload
            astore 3 /* mh */
        start local 3 // java.lang.invoke.MethodHandle mh
        10: .line 1093
            aload 3 /* mh */
            ifnull 11
            aload 3 /* mh */
            areturn
        11: .line 1094
      StackMap locals: java.lang.invoke.MemberName int top java.lang.invoke.MethodHandle
      StackMap stack:
            ldc Ljava/lang/Object;
            ldc Ljava/lang/UnsupportedOperationException;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
        12: .line 1095
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
            dup
            iconst_1
            ldc [Ljava/lang/Object;
            aastore
        13: .line 1094
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 4 /* type */
        start local 4 // java.lang.invoke.MethodType type
        14: .line 1096
            aload 4 /* type */
            invokestatic java.lang.invoke.MethodHandleImpl.throwException:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 3 /* mh */
        15: .line 1097
            aload 3 /* mh */
            new java.lang.UnsupportedOperationException
            dup
            ldc "cannot reflectively invoke MethodHandle"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 3 /* mh */
        16: .line 1098
            aload 0 /* method */
            invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
            aload 3 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
            ifne 18
        17: .line 1099
            new java.lang.InternalError
            dup
            aload 0 /* method */
            invokevirtual java.lang.invoke.MemberName.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 1100
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
            aload 3 /* mh */
            aload 0 /* method */
            iconst_0
            invokevirtual java.lang.invoke.MethodHandle.withInternalMemberName:(Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/MethodHandle;
            astore 3 /* mh */
        19: .line 1101
            aload 3 /* mh */
            ldc [Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodHandle.asVarargsCollector:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 3 /* mh */
        20: .line 1102
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 21
            aload 0 /* method */
            invokevirtual java.lang.invoke.MemberName.isVarargs:()Z
            ifne 21
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        21: .line 1103
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.FAKE_METHOD_HANDLE_INVOKE:[Ljava/lang/invoke/MethodHandle;
            iload 1 /* idx */
            aload 3 /* mh */
            aastore
        22: .line 1104
            aload 3 /* mh */
            areturn
        end local 4 // java.lang.invoke.MethodType type
        end local 3 // java.lang.invoke.MethodHandle mh
        end local 1 // int idx
        end local 0 // java.lang.invoke.MemberName method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0  method  Ljava/lang/invoke/MemberName;
            5    6     1     idx  I
            7    8     1     idx  I
            9   23     1     idx  I
           10   23     3      mh  Ljava/lang/invoke/MethodHandle;
           14   23     4    type  Ljava/lang/invoke/MethodType;
    MethodParameters:
        Name  Flags
      method  

  static java.lang.invoke.MethodHandle bindCaller(java.lang.invoke.MethodHandle, java.lang.Class<?>);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandle mh
        start local 1 // java.lang.Class hostClass
         0: .line 1117
            aload 0 /* mh */
            aload 1 /* hostClass */
            invokestatic java.lang.invoke.MethodHandleImpl$BindCaller.bindCaller:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.Class hostClass
        end local 0 // java.lang.invoke.MethodHandle mh
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0         mh  Ljava/lang/invoke/MethodHandle;
            0    1     1  hostClass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
           Name  Flags
      mh         
      hostClass  

  static java.lang.invoke.MethodHandle makeWrappedMember(java.lang.invoke.MethodHandle, java.lang.invoke.MemberName, boolean);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // java.lang.invoke.MethodHandle target
        start local 1 // java.lang.invoke.MemberName member
        start local 2 // boolean isInvokeSpecial
         0: .line 1306
            aload 1 /* member */
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
            invokevirtual java.lang.invoke.MemberName.equals:(Ljava/lang/invoke/MemberName;)Z
            ifeq 2
            iload 2 /* isInvokeSpecial */
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.isInvokeSpecial:()Z
            if_icmpne 2
         1: .line 1307
            aload 0 /* target */
            areturn
         2: .line 1308
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.MethodHandleImpl$WrappedMember
            dup
            aload 0 /* target */
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 1 /* member */
            iload 2 /* isInvokeSpecial */
            aconst_null
            invokespecial java.lang.invoke.MethodHandleImpl$WrappedMember.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MemberName;ZLjava/lang/Class;)V
            areturn
        end local 2 // boolean isInvokeSpecial
        end local 1 // java.lang.invoke.MemberName member
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0           target  Ljava/lang/invoke/MethodHandle;
            0    3     1           member  Ljava/lang/invoke/MemberName;
            0    3     2  isInvokeSpecial  Z
    MethodParameters:
                 Name  Flags
      target           
      member           
      isInvokeSpecial  

  static java.lang.invoke.MethodHandle makeIntrinsic(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandleImpl$Intrinsic);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandle target
        start local 1 // java.lang.invoke.MethodHandleImpl$Intrinsic intrinsicName
         0: .line 1371
            aload 1 /* intrinsicName */
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.intrinsicName:()Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            if_acmpne 2
         1: .line 1372
            aload 0 /* target */
            areturn
         2: .line 1373
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.MethodHandleImpl$IntrinsicMethodHandle
            dup
            aload 0 /* target */
            aload 1 /* intrinsicName */
            invokespecial java.lang.invoke.MethodHandleImpl$IntrinsicMethodHandle.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
            areturn
        end local 1 // java.lang.invoke.MethodHandleImpl$Intrinsic intrinsicName
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0         target  Ljava/lang/invoke/MethodHandle;
            0    3     1  intrinsicName  Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
    MethodParameters:
               Name  Flags
      target         
      intrinsicName  

  static java.lang.invoke.MethodHandle makeIntrinsic(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm, java.lang.invoke.MethodHandleImpl$Intrinsic);
    descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.invoke.MethodType type
        start local 1 // java.lang.invoke.LambdaForm form
        start local 2 // java.lang.invoke.MethodHandleImpl$Intrinsic intrinsicName
         0: .line 1377
            new java.lang.invoke.MethodHandleImpl$IntrinsicMethodHandle
            dup
            aload 0 /* type */
            aload 1 /* form */
            invokestatic java.lang.invoke.SimpleMethodHandle.make:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle;
            aload 2 /* intrinsicName */
            invokespecial java.lang.invoke.MethodHandleImpl$IntrinsicMethodHandle.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
            areturn
        end local 2 // java.lang.invoke.MethodHandleImpl$Intrinsic intrinsicName
        end local 1 // java.lang.invoke.LambdaForm form
        end local 0 // java.lang.invoke.MethodType type
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           type  Ljava/lang/invoke/MethodType;
            0    1     1           form  Ljava/lang/invoke/LambdaForm;
            0    1     2  intrinsicName  Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
    MethodParameters:
               Name  Flags
      type           
      form           
      intrinsicName  

  private static java.lang.invoke.MethodHandle findCollector(java.lang.String, int, java.lang.Class<?>, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/String;ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // java.lang.String name
        start local 1 // int nargs
        start local 2 // java.lang.Class rtype
        start local 3 // java.lang.Class[] ptypes
         0: .line 1383
            iload 1 /* nargs */
            invokestatic java.lang.invoke.MethodType.genericMethodType:(I)Ljava/lang/invoke/MethodType;
         1: .line 1384
            aload 2 /* rtype */
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
         2: .line 1385
            iconst_0
            aload 3 /* ptypes */
            invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
         3: .line 1383
            astore 4 /* type */
        start local 4 // java.lang.invoke.MethodType type
         4: .line 1387
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljava/lang/invoke/MethodHandleImpl;
            aload 0 /* name */
            aload 4 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
         5: areturn
         6: .line 1388
      StackMap locals: java.lang.String int java.lang.Class java.lang.Class[] java.lang.invoke.MethodType
      StackMap stack: java.lang.ReflectiveOperationException
            pop
         7: .line 1389
            aconst_null
            areturn
        end local 4 // java.lang.invoke.MethodType type
        end local 3 // java.lang.Class[] ptypes
        end local 2 // java.lang.Class rtype
        end local 1 // int nargs
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    name  Ljava/lang/String;
            0    8     1   nargs  I
            0    8     2   rtype  Ljava/lang/Class<*>;
            0    8     3  ptypes  [Ljava/lang/Class;
            4    8     4    type  Ljava/lang/invoke/MethodType;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.ReflectiveOperationException
    Signature: (Ljava/lang/String;ILjava/lang/Class<*>;[Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      name    
      nargs   
      rtype   
      ptypes  

  private static java.lang.Object[] makeArray(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object[] args
         0: .line 1394
            aload 0 /* args */
            areturn
        end local 0 // java.lang.Object[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  args  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      args  

  private static java.lang.Object[] array();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1395
            getstatic java.lang.invoke.MethodHandleImpl.NO_ARGS_ARRAY:[Ljava/lang/Object;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object[] array(java.lang.Object);
    descriptor: (Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Object a0
         0: .line 1397
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* a0 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 0 // java.lang.Object a0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    a0  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a0    

  private static java.lang.Object[] array(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Object a0
        start local 1 // java.lang.Object a1
         0: .line 1399
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* a0 */
            aastore
            dup
            iconst_1
            aload 1 /* a1 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object a1
        end local 0 // java.lang.Object a0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    a0  Ljava/lang/Object;
            0    1     1    a1  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a0    
      a1    

  private static java.lang.Object[] array(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.Object a0
        start local 1 // java.lang.Object a1
        start local 2 // java.lang.Object a2
         0: .line 1401
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* a0 */
            aastore
            dup
            iconst_1
            aload 1 /* a1 */
            aastore
            dup
            iconst_2
            aload 2 /* a2 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object a2
        end local 1 // java.lang.Object a1
        end local 0 // java.lang.Object a0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    a0  Ljava/lang/Object;
            0    1     1    a1  Ljava/lang/Object;
            0    1     2    a2  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a0    
      a1    
      a2    

  private static java.lang.Object[] array(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.Object a0
        start local 1 // java.lang.Object a1
        start local 2 // java.lang.Object a2
        start local 3 // java.lang.Object a3
         0: .line 1403
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* a0 */
            aastore
            dup
            iconst_1
            aload 1 /* a1 */
            aastore
            dup
            iconst_2
            aload 2 /* a2 */
            aastore
            dup
            iconst_3
            aload 3 /* a3 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 3 // java.lang.Object a3
        end local 2 // java.lang.Object a2
        end local 1 // java.lang.Object a1
        end local 0 // java.lang.Object a0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    a0  Ljava/lang/Object;
            0    1     1    a1  Ljava/lang/Object;
            0    1     2    a2  Ljava/lang/Object;
            0    1     3    a3  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a0    
      a1    
      a2    
      a3    

  private static java.lang.Object[] array(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // java.lang.Object a0
        start local 1 // java.lang.Object a1
        start local 2 // java.lang.Object a2
        start local 3 // java.lang.Object a3
        start local 4 // java.lang.Object a4
         0: .line 1406
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* a0 */
            aastore
            dup
            iconst_1
            aload 1 /* a1 */
            aastore
            dup
            iconst_2
            aload 2 /* a2 */
            aastore
            dup
            iconst_3
            aload 3 /* a3 */
            aastore
            dup
            iconst_4
            aload 4 /* a4 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 4 // java.lang.Object a4
        end local 3 // java.lang.Object a3
        end local 2 // java.lang.Object a2
        end local 1 // java.lang.Object a1
        end local 0 // java.lang.Object a0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    a0  Ljava/lang/Object;
            0    1     1    a1  Ljava/lang/Object;
            0    1     2    a2  Ljava/lang/Object;
            0    1     3    a3  Ljava/lang/Object;
            0    1     4    a4  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a0    
      a1    
      a2    
      a3    
      a4    

  private static java.lang.Object[] array(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // java.lang.Object a0
        start local 1 // java.lang.Object a1
        start local 2 // java.lang.Object a2
        start local 3 // java.lang.Object a3
        start local 4 // java.lang.Object a4
        start local 5 // java.lang.Object a5
         0: .line 1409
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* a0 */
            aastore
            dup
            iconst_1
            aload 1 /* a1 */
            aastore
            dup
            iconst_2
            aload 2 /* a2 */
            aastore
            dup
            iconst_3
            aload 3 /* a3 */
            aastore
            dup
            iconst_4
            aload 4 /* a4 */
            aastore
            dup
            iconst_5
            aload 5 /* a5 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 5 // java.lang.Object a5
        end local 4 // java.lang.Object a4
        end local 3 // java.lang.Object a3
        end local 2 // java.lang.Object a2
        end local 1 // java.lang.Object a1
        end local 0 // java.lang.Object a0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    a0  Ljava/lang/Object;
            0    1     1    a1  Ljava/lang/Object;
            0    1     2    a2  Ljava/lang/Object;
            0    1     3    a3  Ljava/lang/Object;
            0    1     4    a4  Ljava/lang/Object;
            0    1     5    a5  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a0    
      a1    
      a2    
      a3    
      a4    
      a5    

  private static java.lang.Object[] array(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=7
        start local 0 // java.lang.Object a0
        start local 1 // java.lang.Object a1
        start local 2 // java.lang.Object a2
        start local 3 // java.lang.Object a3
        start local 4 // java.lang.Object a4
        start local 5 // java.lang.Object a5
        start local 6 // java.lang.Object a6
         0: .line 1412
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* a0 */
            aastore
            dup
            iconst_1
            aload 1 /* a1 */
            aastore
            dup
            iconst_2
            aload 2 /* a2 */
            aastore
            dup
            iconst_3
            aload 3 /* a3 */
            aastore
            dup
            iconst_4
            aload 4 /* a4 */
            aastore
            dup
            iconst_5
            aload 5 /* a5 */
            aastore
            dup
            bipush 6
            aload 6 /* a6 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 6 // java.lang.Object a6
        end local 5 // java.lang.Object a5
        end local 4 // java.lang.Object a4
        end local 3 // java.lang.Object a3
        end local 2 // java.lang.Object a2
        end local 1 // java.lang.Object a1
        end local 0 // java.lang.Object a0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    a0  Ljava/lang/Object;
            0    1     1    a1  Ljava/lang/Object;
            0    1     2    a2  Ljava/lang/Object;
            0    1     3    a3  Ljava/lang/Object;
            0    1     4    a4  Ljava/lang/Object;
            0    1     5    a5  Ljava/lang/Object;
            0    1     6    a6  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a0    
      a1    
      a2    
      a3    
      a4    
      a5    
      a6    

  private static java.lang.Object[] array(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=8
        start local 0 // java.lang.Object a0
        start local 1 // java.lang.Object a1
        start local 2 // java.lang.Object a2
        start local 3 // java.lang.Object a3
        start local 4 // java.lang.Object a4
        start local 5 // java.lang.Object a5
        start local 6 // java.lang.Object a6
        start local 7 // java.lang.Object a7
         0: .line 1415
            bipush 8
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* a0 */
            aastore
            dup
            iconst_1
            aload 1 /* a1 */
            aastore
            dup
            iconst_2
            aload 2 /* a2 */
            aastore
            dup
            iconst_3
            aload 3 /* a3 */
            aastore
            dup
            iconst_4
            aload 4 /* a4 */
            aastore
            dup
            iconst_5
            aload 5 /* a5 */
            aastore
            dup
            bipush 6
            aload 6 /* a6 */
            aastore
            dup
            bipush 7
            aload 7 /* a7 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 7 // java.lang.Object a7
        end local 6 // java.lang.Object a6
        end local 5 // java.lang.Object a5
        end local 4 // java.lang.Object a4
        end local 3 // java.lang.Object a3
        end local 2 // java.lang.Object a2
        end local 1 // java.lang.Object a1
        end local 0 // java.lang.Object a0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    a0  Ljava/lang/Object;
            0    1     1    a1  Ljava/lang/Object;
            0    1     2    a2  Ljava/lang/Object;
            0    1     3    a3  Ljava/lang/Object;
            0    1     4    a4  Ljava/lang/Object;
            0    1     5    a5  Ljava/lang/Object;
            0    1     6    a6  Ljava/lang/Object;
            0    1     7    a7  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a0    
      a1    
      a2    
      a3    
      a4    
      a5    
      a6    
      a7    

  private static java.lang.Object[] array(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=9
        start local 0 // java.lang.Object a0
        start local 1 // java.lang.Object a1
        start local 2 // java.lang.Object a2
        start local 3 // java.lang.Object a3
        start local 4 // java.lang.Object a4
        start local 5 // java.lang.Object a5
        start local 6 // java.lang.Object a6
        start local 7 // java.lang.Object a7
        start local 8 // java.lang.Object a8
         0: .line 1419
            bipush 9
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* a0 */
            aastore
            dup
            iconst_1
            aload 1 /* a1 */
            aastore
            dup
            iconst_2
            aload 2 /* a2 */
            aastore
            dup
            iconst_3
            aload 3 /* a3 */
            aastore
            dup
            iconst_4
            aload 4 /* a4 */
            aastore
            dup
            iconst_5
            aload 5 /* a5 */
            aastore
            dup
            bipush 6
            aload 6 /* a6 */
            aastore
            dup
            bipush 7
            aload 7 /* a7 */
            aastore
            dup
            bipush 8
            aload 8 /* a8 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 8 // java.lang.Object a8
        end local 7 // java.lang.Object a7
        end local 6 // java.lang.Object a6
        end local 5 // java.lang.Object a5
        end local 4 // java.lang.Object a4
        end local 3 // java.lang.Object a3
        end local 2 // java.lang.Object a2
        end local 1 // java.lang.Object a1
        end local 0 // java.lang.Object a0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    a0  Ljava/lang/Object;
            0    1     1    a1  Ljava/lang/Object;
            0    1     2    a2  Ljava/lang/Object;
            0    1     3    a3  Ljava/lang/Object;
            0    1     4    a4  Ljava/lang/Object;
            0    1     5    a5  Ljava/lang/Object;
            0    1     6    a6  Ljava/lang/Object;
            0    1     7    a7  Ljava/lang/Object;
            0    1     8    a8  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a0    
      a1    
      a2    
      a3    
      a4    
      a5    
      a6    
      a7    
      a8    

  private static java.lang.Object[] array(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=10
        start local 0 // java.lang.Object a0
        start local 1 // java.lang.Object a1
        start local 2 // java.lang.Object a2
        start local 3 // java.lang.Object a3
        start local 4 // java.lang.Object a4
        start local 5 // java.lang.Object a5
        start local 6 // java.lang.Object a6
        start local 7 // java.lang.Object a7
        start local 8 // java.lang.Object a8
        start local 9 // java.lang.Object a9
         0: .line 1423
            bipush 10
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* a0 */
            aastore
            dup
            iconst_1
            aload 1 /* a1 */
            aastore
            dup
            iconst_2
            aload 2 /* a2 */
            aastore
            dup
            iconst_3
            aload 3 /* a3 */
            aastore
            dup
            iconst_4
            aload 4 /* a4 */
            aastore
            dup
            iconst_5
            aload 5 /* a5 */
            aastore
            dup
            bipush 6
            aload 6 /* a6 */
            aastore
            dup
            bipush 7
            aload 7 /* a7 */
            aastore
            dup
            bipush 8
            aload 8 /* a8 */
            aastore
            dup
            bipush 9
            aload 9 /* a9 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 9 // java.lang.Object a9
        end local 8 // java.lang.Object a8
        end local 7 // java.lang.Object a7
        end local 6 // java.lang.Object a6
        end local 5 // java.lang.Object a5
        end local 4 // java.lang.Object a4
        end local 3 // java.lang.Object a3
        end local 2 // java.lang.Object a2
        end local 1 // java.lang.Object a1
        end local 0 // java.lang.Object a0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    a0  Ljava/lang/Object;
            0    1     1    a1  Ljava/lang/Object;
            0    1     2    a2  Ljava/lang/Object;
            0    1     3    a3  Ljava/lang/Object;
            0    1     4    a4  Ljava/lang/Object;
            0    1     5    a5  Ljava/lang/Object;
            0    1     6    a6  Ljava/lang/Object;
            0    1     7    a7  Ljava/lang/Object;
            0    1     8    a8  Ljava/lang/Object;
            0    1     9    a9  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a0    
      a1    
      a2    
      a3    
      a4    
      a5    
      a6    
      a7    
      a8    
      a9    

  private static java.lang.invoke.MethodHandle[] makeArrays();
    descriptor: ()[Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 1425
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 0 /* mhs */
        start local 0 // java.util.ArrayList mhs
         1: .line 1427
      StackMap locals: java.util.ArrayList
      StackMap stack:
            ldc "array"
            aload 0 /* mhs */
            invokevirtual java.util.ArrayList.size:()I
            ldc [Ljava/lang/Object;
            iconst_0
            anewarray java.lang.Class
            invokestatic java.lang.invoke.MethodHandleImpl.findCollector:(Ljava/lang/String;ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 1 /* mh */
        start local 1 // java.lang.invoke.MethodHandle mh
         2: .line 1428
            aload 1 /* mh */
            ifnonnull 3
            goto 6
         3: .line 1429
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 1 /* mh */
            getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.NEW_ARRAY:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokestatic java.lang.invoke.MethodHandleImpl.makeIntrinsic:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)Ljava/lang/invoke/MethodHandle;
            astore 1 /* mh */
         4: .line 1430
            aload 0 /* mhs */
            aload 1 /* mh */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 1 // java.lang.invoke.MethodHandle mh
         5: .line 1426
            goto 1
         6: .line 1432
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 7
            aload 0 /* mhs */
            invokevirtual java.util.ArrayList.size:()I
            bipush 11
            if_icmpeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 1433
      StackMap locals:
      StackMap stack:
            aload 0 /* mhs */
            getstatic java.lang.invoke.MethodHandleImpl.MAX_ARITY:I
            iconst_1
            iadd
            anewarray java.lang.invoke.MethodHandle
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.invoke.MethodHandle[]
            areturn
        end local 0 // java.util.ArrayList mhs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    8     0   mhs  Ljava/util/ArrayList<Ljava/lang/invoke/MethodHandle;>;
            2    5     1    mh  Ljava/lang/invoke/MethodHandle;

  private static java.lang.Object[] fillNewArray(java.lang.Integer, java.lang.Object[]);
    descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Integer len
        start local 1 // java.lang.Object[] args
         0: .line 1439
            aload 0 /* len */
            invokevirtual java.lang.Integer.intValue:()I
            anewarray java.lang.Object
            astore 2 /* a */
        start local 2 // java.lang.Object[] a
         1: .line 1440
            aload 2 /* a */
            iconst_0
            aload 1 /* args */
            invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
         2: .line 1441
            aload 2 /* a */
            areturn
        end local 2 // java.lang.Object[] a
        end local 1 // java.lang.Object[] args
        end local 0 // java.lang.Integer len
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   len  Ljava/lang/Integer;
            0    3     1  args  [Ljava/lang/Object;
            1    3     2     a  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      len   
      args  

  private static java.lang.Object[] fillNewTypedArray(java.lang.Object[], java.lang.Integer, java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;Ljava/lang/Integer;[Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.Object[] example
        start local 1 // java.lang.Integer len
        start local 2 // java.lang.Object[] args
         0: .line 1444
            aload 0 /* example */
            aload 1 /* len */
            invokevirtual java.lang.Integer.intValue:()I
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            astore 3 /* a */
        start local 3 // java.lang.Object[] a
         1: .line 1445
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 2
            aload 3 /* a */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc [Ljava/lang/Object;
            if_acmpne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1446
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 3 /* a */
            iconst_0
            aload 2 /* args */
            invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
         3: .line 1447
            aload 3 /* a */
            areturn
        end local 3 // java.lang.Object[] a
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.Integer len
        end local 0 // java.lang.Object[] example
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  example  [Ljava/lang/Object;
            0    4     1      len  Ljava/lang/Integer;
            0    4     2     args  [Ljava/lang/Object;
            1    4     3        a  [Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      example  
      len      
      args     

  private static void fillWithArguments(java.lang.Object[], int, java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;I[Ljava/lang/Object;)V
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.Object[] a
        start local 1 // int pos
        start local 2 // java.lang.Object[] args
         0: .line 1450
            aload 2 /* args */
            iconst_0
            aload 0 /* a */
            iload 1 /* pos */
            aload 2 /* args */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 1451
            return
        end local 2 // java.lang.Object[] args
        end local 1 // int pos
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  [Ljava/lang/Object;
            0    2     1   pos  I
            0    2     2  args  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a     
      pos   
      args  

  private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object);
    descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.lang.Integer pos
        start local 1 // java.lang.Object[] a
        start local 2 // java.lang.Object a0
         0: .line 1454
            aload 1 /* a */
            aload 0 /* pos */
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* a0 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
            aload 1 /* a */
            areturn
        end local 2 // java.lang.Object a0
        end local 1 // java.lang.Object[] a
        end local 0 // java.lang.Integer pos
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   pos  Ljava/lang/Integer;
            0    1     1     a  [Ljava/lang/Object;
            0    1     2    a0  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      pos   
      a     
      a0    

  private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.Integer pos
        start local 1 // java.lang.Object[] a
        start local 2 // java.lang.Object a0
        start local 3 // java.lang.Object a1
         0: .line 1456
            aload 1 /* a */
            aload 0 /* pos */
            invokevirtual java.lang.Integer.intValue:()I
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* a0 */
            aastore
            dup
            iconst_1
            aload 3 /* a1 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
            aload 1 /* a */
            areturn
        end local 3 // java.lang.Object a1
        end local 2 // java.lang.Object a0
        end local 1 // java.lang.Object[] a
        end local 0 // java.lang.Integer pos
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   pos  Ljava/lang/Integer;
            0    1     1     a  [Ljava/lang/Object;
            0    1     2    a0  Ljava/lang/Object;
            0    1     3    a1  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      pos   
      a     
      a0    
      a1    

  private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // java.lang.Integer pos
        start local 1 // java.lang.Object[] a
        start local 2 // java.lang.Object a0
        start local 3 // java.lang.Object a1
        start local 4 // java.lang.Object a2
         0: .line 1458
            aload 1 /* a */
            aload 0 /* pos */
            invokevirtual java.lang.Integer.intValue:()I
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* a0 */
            aastore
            dup
            iconst_1
            aload 3 /* a1 */
            aastore
            dup
            iconst_2
            aload 4 /* a2 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
            aload 1 /* a */
            areturn
        end local 4 // java.lang.Object a2
        end local 3 // java.lang.Object a1
        end local 2 // java.lang.Object a0
        end local 1 // java.lang.Object[] a
        end local 0 // java.lang.Integer pos
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   pos  Ljava/lang/Integer;
            0    1     1     a  [Ljava/lang/Object;
            0    1     2    a0  Ljava/lang/Object;
            0    1     3    a1  Ljava/lang/Object;
            0    1     4    a2  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      pos   
      a     
      a0    
      a1    
      a2    

  private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // java.lang.Integer pos
        start local 1 // java.lang.Object[] a
        start local 2 // java.lang.Object a0
        start local 3 // java.lang.Object a1
        start local 4 // java.lang.Object a2
        start local 5 // java.lang.Object a3
         0: .line 1460
            aload 1 /* a */
            aload 0 /* pos */
            invokevirtual java.lang.Integer.intValue:()I
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* a0 */
            aastore
            dup
            iconst_1
            aload 3 /* a1 */
            aastore
            dup
            iconst_2
            aload 4 /* a2 */
            aastore
            dup
            iconst_3
            aload 5 /* a3 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
            aload 1 /* a */
            areturn
        end local 5 // java.lang.Object a3
        end local 4 // java.lang.Object a2
        end local 3 // java.lang.Object a1
        end local 2 // java.lang.Object a0
        end local 1 // java.lang.Object[] a
        end local 0 // java.lang.Integer pos
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   pos  Ljava/lang/Integer;
            0    1     1     a  [Ljava/lang/Object;
            0    1     2    a0  Ljava/lang/Object;
            0    1     3    a1  Ljava/lang/Object;
            0    1     4    a2  Ljava/lang/Object;
            0    1     5    a3  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      pos   
      a     
      a0    
      a1    
      a2    
      a3    

  private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=7
        start local 0 // java.lang.Integer pos
        start local 1 // java.lang.Object[] a
        start local 2 // java.lang.Object a0
        start local 3 // java.lang.Object a1
        start local 4 // java.lang.Object a2
        start local 5 // java.lang.Object a3
        start local 6 // java.lang.Object a4
         0: .line 1463
            aload 1 /* a */
            aload 0 /* pos */
            invokevirtual java.lang.Integer.intValue:()I
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* a0 */
            aastore
            dup
            iconst_1
            aload 3 /* a1 */
            aastore
            dup
            iconst_2
            aload 4 /* a2 */
            aastore
            dup
            iconst_3
            aload 5 /* a3 */
            aastore
            dup
            iconst_4
            aload 6 /* a4 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
            aload 1 /* a */
            areturn
        end local 6 // java.lang.Object a4
        end local 5 // java.lang.Object a3
        end local 4 // java.lang.Object a2
        end local 3 // java.lang.Object a1
        end local 2 // java.lang.Object a0
        end local 1 // java.lang.Object[] a
        end local 0 // java.lang.Integer pos
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   pos  Ljava/lang/Integer;
            0    1     1     a  [Ljava/lang/Object;
            0    1     2    a0  Ljava/lang/Object;
            0    1     3    a1  Ljava/lang/Object;
            0    1     4    a2  Ljava/lang/Object;
            0    1     5    a3  Ljava/lang/Object;
            0    1     6    a4  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      pos   
      a     
      a0    
      a1    
      a2    
      a3    
      a4    

  private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=8
        start local 0 // java.lang.Integer pos
        start local 1 // java.lang.Object[] a
        start local 2 // java.lang.Object a0
        start local 3 // java.lang.Object a1
        start local 4 // java.lang.Object a2
        start local 5 // java.lang.Object a3
        start local 6 // java.lang.Object a4
        start local 7 // java.lang.Object a5
         0: .line 1466
            aload 1 /* a */
            aload 0 /* pos */
            invokevirtual java.lang.Integer.intValue:()I
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* a0 */
            aastore
            dup
            iconst_1
            aload 3 /* a1 */
            aastore
            dup
            iconst_2
            aload 4 /* a2 */
            aastore
            dup
            iconst_3
            aload 5 /* a3 */
            aastore
            dup
            iconst_4
            aload 6 /* a4 */
            aastore
            dup
            iconst_5
            aload 7 /* a5 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
            aload 1 /* a */
            areturn
        end local 7 // java.lang.Object a5
        end local 6 // java.lang.Object a4
        end local 5 // java.lang.Object a3
        end local 4 // java.lang.Object a2
        end local 3 // java.lang.Object a1
        end local 2 // java.lang.Object a0
        end local 1 // java.lang.Object[] a
        end local 0 // java.lang.Integer pos
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   pos  Ljava/lang/Integer;
            0    1     1     a  [Ljava/lang/Object;
            0    1     2    a0  Ljava/lang/Object;
            0    1     3    a1  Ljava/lang/Object;
            0    1     4    a2  Ljava/lang/Object;
            0    1     5    a3  Ljava/lang/Object;
            0    1     6    a4  Ljava/lang/Object;
            0    1     7    a5  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      pos   
      a     
      a0    
      a1    
      a2    
      a3    
      a4    
      a5    

  private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=9
        start local 0 // java.lang.Integer pos
        start local 1 // java.lang.Object[] a
        start local 2 // java.lang.Object a0
        start local 3 // java.lang.Object a1
        start local 4 // java.lang.Object a2
        start local 5 // java.lang.Object a3
        start local 6 // java.lang.Object a4
        start local 7 // java.lang.Object a5
        start local 8 // java.lang.Object a6
         0: .line 1469
            aload 1 /* a */
            aload 0 /* pos */
            invokevirtual java.lang.Integer.intValue:()I
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* a0 */
            aastore
            dup
            iconst_1
            aload 3 /* a1 */
            aastore
            dup
            iconst_2
            aload 4 /* a2 */
            aastore
            dup
            iconst_3
            aload 5 /* a3 */
            aastore
            dup
            iconst_4
            aload 6 /* a4 */
            aastore
            dup
            iconst_5
            aload 7 /* a5 */
            aastore
            dup
            bipush 6
            aload 8 /* a6 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
            aload 1 /* a */
            areturn
        end local 8 // java.lang.Object a6
        end local 7 // java.lang.Object a5
        end local 6 // java.lang.Object a4
        end local 5 // java.lang.Object a3
        end local 4 // java.lang.Object a2
        end local 3 // java.lang.Object a1
        end local 2 // java.lang.Object a0
        end local 1 // java.lang.Object[] a
        end local 0 // java.lang.Integer pos
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   pos  Ljava/lang/Integer;
            0    1     1     a  [Ljava/lang/Object;
            0    1     2    a0  Ljava/lang/Object;
            0    1     3    a1  Ljava/lang/Object;
            0    1     4    a2  Ljava/lang/Object;
            0    1     5    a3  Ljava/lang/Object;
            0    1     6    a4  Ljava/lang/Object;
            0    1     7    a5  Ljava/lang/Object;
            0    1     8    a6  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      pos   
      a     
      a0    
      a1    
      a2    
      a3    
      a4    
      a5    
      a6    

  private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=10
        start local 0 // java.lang.Integer pos
        start local 1 // java.lang.Object[] a
        start local 2 // java.lang.Object a0
        start local 3 // java.lang.Object a1
        start local 4 // java.lang.Object a2
        start local 5 // java.lang.Object a3
        start local 6 // java.lang.Object a4
        start local 7 // java.lang.Object a5
        start local 8 // java.lang.Object a6
        start local 9 // java.lang.Object a7
         0: .line 1472
            aload 1 /* a */
            aload 0 /* pos */
            invokevirtual java.lang.Integer.intValue:()I
            bipush 8
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* a0 */
            aastore
            dup
            iconst_1
            aload 3 /* a1 */
            aastore
            dup
            iconst_2
            aload 4 /* a2 */
            aastore
            dup
            iconst_3
            aload 5 /* a3 */
            aastore
            dup
            iconst_4
            aload 6 /* a4 */
            aastore
            dup
            iconst_5
            aload 7 /* a5 */
            aastore
            dup
            bipush 6
            aload 8 /* a6 */
            aastore
            dup
            bipush 7
            aload 9 /* a7 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
            aload 1 /* a */
            areturn
        end local 9 // java.lang.Object a7
        end local 8 // java.lang.Object a6
        end local 7 // java.lang.Object a5
        end local 6 // java.lang.Object a4
        end local 5 // java.lang.Object a3
        end local 4 // java.lang.Object a2
        end local 3 // java.lang.Object a1
        end local 2 // java.lang.Object a0
        end local 1 // java.lang.Object[] a
        end local 0 // java.lang.Integer pos
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   pos  Ljava/lang/Integer;
            0    1     1     a  [Ljava/lang/Object;
            0    1     2    a0  Ljava/lang/Object;
            0    1     3    a1  Ljava/lang/Object;
            0    1     4    a2  Ljava/lang/Object;
            0    1     5    a3  Ljava/lang/Object;
            0    1     6    a4  Ljava/lang/Object;
            0    1     7    a5  Ljava/lang/Object;
            0    1     8    a6  Ljava/lang/Object;
            0    1     9    a7  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      pos   
      a     
      a0    
      a1    
      a2    
      a3    
      a4    
      a5    
      a6    
      a7    

  private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=11, args_size=11
        start local 0 // java.lang.Integer pos
        start local 1 // java.lang.Object[] a
        start local 2 // java.lang.Object a0
        start local 3 // java.lang.Object a1
        start local 4 // java.lang.Object a2
        start local 5 // java.lang.Object a3
        start local 6 // java.lang.Object a4
        start local 7 // java.lang.Object a5
        start local 8 // java.lang.Object a6
        start local 9 // java.lang.Object a7
        start local 10 // java.lang.Object a8
         0: .line 1476
            aload 1 /* a */
            aload 0 /* pos */
            invokevirtual java.lang.Integer.intValue:()I
            bipush 9
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* a0 */
            aastore
            dup
            iconst_1
            aload 3 /* a1 */
            aastore
            dup
            iconst_2
            aload 4 /* a2 */
            aastore
            dup
            iconst_3
            aload 5 /* a3 */
            aastore
            dup
            iconst_4
            aload 6 /* a4 */
            aastore
            dup
            iconst_5
            aload 7 /* a5 */
            aastore
            dup
            bipush 6
            aload 8 /* a6 */
            aastore
            dup
            bipush 7
            aload 9 /* a7 */
            aastore
            dup
            bipush 8
            aload 10 /* a8 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
            aload 1 /* a */
            areturn
        end local 10 // java.lang.Object a8
        end local 9 // java.lang.Object a7
        end local 8 // java.lang.Object a6
        end local 7 // java.lang.Object a5
        end local 6 // java.lang.Object a4
        end local 5 // java.lang.Object a3
        end local 4 // java.lang.Object a2
        end local 3 // java.lang.Object a1
        end local 2 // java.lang.Object a0
        end local 1 // java.lang.Object[] a
        end local 0 // java.lang.Integer pos
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   pos  Ljava/lang/Integer;
            0    1     1     a  [Ljava/lang/Object;
            0    1     2    a0  Ljava/lang/Object;
            0    1     3    a1  Ljava/lang/Object;
            0    1     4    a2  Ljava/lang/Object;
            0    1     5    a3  Ljava/lang/Object;
            0    1     6    a4  Ljava/lang/Object;
            0    1     7    a5  Ljava/lang/Object;
            0    1     8    a6  Ljava/lang/Object;
            0    1     9    a7  Ljava/lang/Object;
            0    1    10    a8  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      pos   
      a     
      a0    
      a1    
      a2    
      a3    
      a4    
      a5    
      a6    
      a7    
      a8    

  private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=12, args_size=12
        start local 0 // java.lang.Integer pos
        start local 1 // java.lang.Object[] a
        start local 2 // java.lang.Object a0
        start local 3 // java.lang.Object a1
        start local 4 // java.lang.Object a2
        start local 5 // java.lang.Object a3
        start local 6 // java.lang.Object a4
        start local 7 // java.lang.Object a5
        start local 8 // java.lang.Object a6
        start local 9 // java.lang.Object a7
        start local 10 // java.lang.Object a8
        start local 11 // java.lang.Object a9
         0: .line 1480
            aload 1 /* a */
            aload 0 /* pos */
            invokevirtual java.lang.Integer.intValue:()I
            bipush 10
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* a0 */
            aastore
            dup
            iconst_1
            aload 3 /* a1 */
            aastore
            dup
            iconst_2
            aload 4 /* a2 */
            aastore
            dup
            iconst_3
            aload 5 /* a3 */
            aastore
            dup
            iconst_4
            aload 6 /* a4 */
            aastore
            dup
            iconst_5
            aload 7 /* a5 */
            aastore
            dup
            bipush 6
            aload 8 /* a6 */
            aastore
            dup
            bipush 7
            aload 9 /* a7 */
            aastore
            dup
            bipush 8
            aload 10 /* a8 */
            aastore
            dup
            bipush 9
            aload 11 /* a9 */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
            aload 1 /* a */
            areturn
        end local 11 // java.lang.Object a9
        end local 10 // java.lang.Object a8
        end local 9 // java.lang.Object a7
        end local 8 // java.lang.Object a6
        end local 7 // java.lang.Object a5
        end local 6 // java.lang.Object a4
        end local 5 // java.lang.Object a3
        end local 4 // java.lang.Object a2
        end local 3 // java.lang.Object a1
        end local 2 // java.lang.Object a0
        end local 1 // java.lang.Object[] a
        end local 0 // java.lang.Integer pos
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   pos  Ljava/lang/Integer;
            0    1     1     a  [Ljava/lang/Object;
            0    1     2    a0  Ljava/lang/Object;
            0    1     3    a1  Ljava/lang/Object;
            0    1     4    a2  Ljava/lang/Object;
            0    1     5    a3  Ljava/lang/Object;
            0    1     6    a4  Ljava/lang/Object;
            0    1     7    a5  Ljava/lang/Object;
            0    1     8    a6  Ljava/lang/Object;
            0    1     9    a7  Ljava/lang/Object;
            0    1    10    a8  Ljava/lang/Object;
            0    1    11    a9  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      pos   
      a     
      a0    
      a1    
      a2    
      a3    
      a4    
      a5    
      a6    
      a7    
      a8    
      a9    

  private static java.lang.invoke.MethodHandle[] makeFillArrays();
    descriptor: ()[Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=0
         0: .line 1485
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 0 /* mhs */
        start local 0 // java.util.ArrayList mhs
         1: .line 1486
            aload 0 /* mhs */
            aconst_null
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 1488
      StackMap locals: java.util.ArrayList
      StackMap stack:
            ldc "fillArray"
            aload 0 /* mhs */
            invokevirtual java.util.ArrayList.size:()I
            ldc [Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            ldc [Ljava/lang/Object;
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.findCollector:(Ljava/lang/String;ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 1 /* mh */
        start local 1 // java.lang.invoke.MethodHandle mh
         3: .line 1489
            aload 1 /* mh */
            ifnonnull 4
            goto 6
         4: .line 1490
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 0 /* mhs */
            aload 1 /* mh */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 1 // java.lang.invoke.MethodHandle mh
         5: .line 1487
            goto 2
         6: .line 1492
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 7
            aload 0 /* mhs */
            invokevirtual java.util.ArrayList.size:()I
            bipush 11
            if_icmpeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 1493
      StackMap locals:
      StackMap stack:
            aload 0 /* mhs */
            iconst_0
            anewarray java.lang.invoke.MethodHandle
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.invoke.MethodHandle[]
            areturn
        end local 0 // java.util.ArrayList mhs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    8     0   mhs  Ljava/util/ArrayList<Ljava/lang/invoke/MethodHandle;>;
            3    5     1    mh  Ljava/lang/invoke/MethodHandle;

  private static java.lang.Object copyAsPrimitiveArray(sun.invoke.util.Wrapper, java.lang.Object[]);
    descriptor: (Lsun/invoke/util/Wrapper;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // sun.invoke.util.Wrapper w
        start local 1 // java.lang.Object[] boxes
         0: .line 1497
            aload 0 /* w */
            aload 1 /* boxes */
            arraylength
            invokevirtual sun.invoke.util.Wrapper.makeArray:(I)Ljava/lang/Object;
            astore 2 /* a */
        start local 2 // java.lang.Object a
         1: .line 1498
            aload 0 /* w */
            aload 1 /* boxes */
            iconst_0
            aload 2 /* a */
            iconst_0
            aload 1 /* boxes */
            arraylength
            invokevirtual sun.invoke.util.Wrapper.copyArrayUnboxing:([Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 1499
            aload 2 /* a */
            areturn
        end local 2 // java.lang.Object a
        end local 1 // java.lang.Object[] boxes
        end local 0 // sun.invoke.util.Wrapper w
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0      w  Lsun/invoke/util/Wrapper;
            0    3     1  boxes  [Ljava/lang/Object;
            1    3     2      a  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      w      
      boxes  

  static java.lang.invoke.MethodHandle varargsArray(int);
    descriptor: (I)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // int nargs
         0: .line 1506
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.ARRAYS:[Ljava/lang/invoke/MethodHandle;
            iload 0 /* nargs */
            aaload
            astore 1 /* mh */
        start local 1 // java.lang.invoke.MethodHandle mh
         1: .line 1507
            aload 1 /* mh */
            ifnull 2
            aload 1 /* mh */
            areturn
         2: .line 1508
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            ldc "array"
            iload 0 /* nargs */
            ldc [Ljava/lang/Object;
            iconst_0
            anewarray java.lang.Class
            invokestatic java.lang.invoke.MethodHandleImpl.findCollector:(Ljava/lang/String;ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 1 /* mh */
         3: .line 1509
            aload 1 /* mh */
            ifnull 4
            aload 1 /* mh */
            getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.NEW_ARRAY:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokestatic java.lang.invoke.MethodHandleImpl.makeIntrinsic:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)Ljava/lang/invoke/MethodHandle;
            astore 1 /* mh */
         4: .line 1510
      StackMap locals:
      StackMap stack:
            aload 1 /* mh */
            ifnull 5
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.ARRAYS:[Ljava/lang/invoke/MethodHandle;
            iload 0 /* nargs */
            aload 1 /* mh */
            dup_x2
            aastore
            areturn
         5: .line 1511
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.MH_fillNewArray:Ljava/lang/invoke/MethodHandle;
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.MH_arrayIdentity:Ljava/lang/invoke/MethodHandle;
            iload 0 /* nargs */
            invokestatic java.lang.invoke.MethodHandleImpl.buildVarargsArray:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
            astore 1 /* mh */
         6: .line 1512
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 7
            aload 1 /* mh */
            iload 0 /* nargs */
            invokestatic java.lang.invoke.MethodHandleImpl.assertCorrectArity:(Ljava/lang/invoke/MethodHandle;I)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 1513
      StackMap locals:
      StackMap stack:
            aload 1 /* mh */
            getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.NEW_ARRAY:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokestatic java.lang.invoke.MethodHandleImpl.makeIntrinsic:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)Ljava/lang/invoke/MethodHandle;
            astore 1 /* mh */
         8: .line 1514
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.ARRAYS:[Ljava/lang/invoke/MethodHandle;
            iload 0 /* nargs */
            aload 1 /* mh */
            dup_x2
            aastore
            areturn
        end local 1 // java.lang.invoke.MethodHandle mh
        end local 0 // int nargs
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0  nargs  I
            1    9     1     mh  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
       Name  Flags
      nargs  

  private static boolean assertCorrectArity(java.lang.invoke.MethodHandle, int);
    descriptor: (Ljava/lang/invoke/MethodHandle;I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandle mh
        start local 1 // int arity
         0: .line 1518
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 1
            aload 0 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iload 1 /* arity */
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "arity != "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* arity */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* mh */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 1519
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // int arity
        end local 0 // java.lang.invoke.MethodHandle mh
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0     mh  Ljava/lang/invoke/MethodHandle;
            0    2     1  arity  I
    MethodParameters:
       Name  Flags
      mh     
      arity  

  static <T> T[] identity();
    descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object[] x
         0: .line 1524
            aload 0 /* x */
            areturn
        end local 0 // java.lang.Object[] x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  [Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>([TT;)[TT;
    MethodParameters:
      Name  Flags
      x     

  private static java.lang.invoke.MethodHandle buildVarargsArray(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, int);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // java.lang.invoke.MethodHandle newArray
        start local 1 // java.lang.invoke.MethodHandle finisher
        start local 2 // int nargs
         0: .line 1531
            iload 2 /* nargs */
            bipush 10
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* leftLen */
        start local 3 // int leftLen
         1: .line 1532
            iload 2 /* nargs */
            iload 3 /* leftLen */
            isub
            istore 4 /* rightLen */
        start local 4 // int rightLen
         2: .line 1533
            aload 0 /* newArray */
            iload 2 /* nargs */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* leftCollector */
        start local 5 // java.lang.invoke.MethodHandle leftCollector
         3: .line 1534
            aload 5 /* leftCollector */
            ldc [Ljava/lang/Object;
            iload 3 /* leftLen */
            invokevirtual java.lang.invoke.MethodHandle.asCollector:(Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
            astore 5 /* leftCollector */
         4: .line 1535
            aload 1 /* finisher */
            astore 6 /* mh */
        start local 6 // java.lang.invoke.MethodHandle mh
         5: .line 1536
            iload 4 /* rightLen */
            ifle 10
         6: .line 1537
            bipush 10
            iload 4 /* rightLen */
            iadd
            invokestatic java.lang.invoke.MethodHandleImpl.fillToRight:(I)Ljava/lang/invoke/MethodHandle;
            astore 7 /* rightFiller */
        start local 7 // java.lang.invoke.MethodHandle rightFiller
         7: .line 1538
            aload 6 /* mh */
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.MH_arrayIdentity:Ljava/lang/invoke/MethodHandle;
            if_acmpne 9
         8: .line 1539
            aload 7 /* rightFiller */
            astore 6 /* mh */
            goto 10
         9: .line 1541
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle int int int java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle
      StackMap stack:
            aload 6 /* mh */
            iconst_0
            aload 7 /* rightFiller */
            invokestatic java.lang.invoke.MethodHandles.collectArguments:(Ljava/lang/invoke/MethodHandle;ILjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* mh */
        end local 7 // java.lang.invoke.MethodHandle rightFiller
        10: .line 1543
      StackMap locals:
      StackMap stack:
            aload 6 /* mh */
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.MH_arrayIdentity:Ljava/lang/invoke/MethodHandle;
            if_acmpne 12
        11: .line 1544
            aload 5 /* leftCollector */
            astore 6 /* mh */
            goto 13
        12: .line 1546
      StackMap locals:
      StackMap stack:
            aload 6 /* mh */
            iconst_0
            aload 5 /* leftCollector */
            invokestatic java.lang.invoke.MethodHandles.collectArguments:(Ljava/lang/invoke/MethodHandle;ILjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* mh */
        13: .line 1547
      StackMap locals:
      StackMap stack:
            aload 6 /* mh */
            areturn
        end local 6 // java.lang.invoke.MethodHandle mh
        end local 5 // java.lang.invoke.MethodHandle leftCollector
        end local 4 // int rightLen
        end local 3 // int leftLen
        end local 2 // int nargs
        end local 1 // java.lang.invoke.MethodHandle finisher
        end local 0 // java.lang.invoke.MethodHandle newArray
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0       newArray  Ljava/lang/invoke/MethodHandle;
            0   14     1       finisher  Ljava/lang/invoke/MethodHandle;
            0   14     2          nargs  I
            1   14     3        leftLen  I
            2   14     4       rightLen  I
            3   14     5  leftCollector  Ljava/lang/invoke/MethodHandle;
            5   14     6             mh  Ljava/lang/invoke/MethodHandle;
            7   10     7    rightFiller  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
          Name  Flags
      newArray  
      finisher  
      nargs     

  private static java.lang.invoke.MethodHandle fillToRight(int);
    descriptor: (I)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // int nargs
         0: .line 1557
            getstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAY_TO_RIGHT:[Ljava/lang/invoke/MethodHandle;
            iload 0 /* nargs */
            aaload
            astore 1 /* filler */
        start local 1 // java.lang.invoke.MethodHandle filler
         1: .line 1558
            aload 1 /* filler */
            ifnull 2
            aload 1 /* filler */
            areturn
         2: .line 1559
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            iload 0 /* nargs */
            invokestatic java.lang.invoke.MethodHandleImpl.buildFiller:(I)Ljava/lang/invoke/MethodHandle;
            astore 1 /* filler */
         3: .line 1560
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 4
            aload 1 /* filler */
            iload 0 /* nargs */
            bipush 10
            isub
            iconst_1
            iadd
            invokestatic java.lang.invoke.MethodHandleImpl.assertCorrectArity:(Ljava/lang/invoke/MethodHandle;I)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 1561
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAY_TO_RIGHT:[Ljava/lang/invoke/MethodHandle;
            iload 0 /* nargs */
            aload 1 /* filler */
            dup_x2
            aastore
            areturn
        end local 1 // java.lang.invoke.MethodHandle filler
        end local 0 // int nargs
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0   nargs  I
            1    5     1  filler  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
       Name  Flags
      nargs  

  private static java.lang.invoke.MethodHandle buildFiller(int);
    descriptor: (I)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // int nargs
         0: .line 1564
            iload 0 /* nargs */
            bipush 10
            if_icmpgt 2
         1: .line 1565
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.MH_arrayIdentity:Ljava/lang/invoke/MethodHandle;
            areturn
         2: .line 1568
      StackMap locals:
      StackMap stack:
            iload 0 /* nargs */
            bipush 10
            irem
            istore 1 /* rightLen */
        start local 1 // int rightLen
         3: .line 1569
            iload 0 /* nargs */
            iload 1 /* rightLen */
            isub
            istore 2 /* midLen */
        start local 2 // int midLen
         4: .line 1570
            iload 1 /* rightLen */
            ifne 12
         5: .line 1571
            iload 0 /* nargs */
            bipush 10
            dup
            istore 1 /* rightLen */
            isub
            istore 2 /* midLen */
         6: .line 1572
            getstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAY_TO_RIGHT:[Ljava/lang/invoke/MethodHandle;
            iload 2 /* midLen */
            aaload
            ifnonnull 12
         7: .line 1574
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         8: goto 11
         9: .line 1575
      StackMap locals: int int int
      StackMap stack:
            iload 3 /* j */
            bipush 10
            if_icmple 10
            iload 3 /* j */
            invokestatic java.lang.invoke.MethodHandleImpl.fillToRight:(I)Ljava/lang/invoke/MethodHandle;
            pop
        10: .line 1574
      StackMap locals:
      StackMap stack:
            iinc 3 /* j */ 10
      StackMap locals:
      StackMap stack:
        11: iload 3 /* j */
            iload 2 /* midLen */
            if_icmplt 9
        end local 3 // int j
        12: .line 1578
      StackMap locals:
      StackMap stack:
            iload 2 /* midLen */
            bipush 10
            if_icmpge 13
            iload 0 /* nargs */
            bipush 10
            dup
            istore 2 /* midLen */
            isub
            istore 1 /* rightLen */
        13: .line 1579
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 14
            iload 1 /* rightLen */
            ifgt 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 1580
      StackMap locals:
      StackMap stack:
            iload 2 /* midLen */
            invokestatic java.lang.invoke.MethodHandleImpl.fillToRight:(I)Ljava/lang/invoke/MethodHandle;
            astore 3 /* midFill */
        start local 3 // java.lang.invoke.MethodHandle midFill
        15: .line 1581
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.FILL_ARRAYS:[Ljava/lang/invoke/MethodHandle;
            iload 1 /* rightLen */
            aaload
            iload 2 /* midLen */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* rightFill */
        start local 4 // java.lang.invoke.MethodHandle rightFill
        16: .line 1582
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 17
            aload 3 /* midFill */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iconst_1
            iload 2 /* midLen */
            iadd
            bipush 10
            isub
            if_icmpeq 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 1583
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 18
            aload 4 /* rightFill */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iconst_1
            iload 1 /* rightLen */
            iadd
            if_icmpeq 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 1589
      StackMap locals:
      StackMap stack:
            iload 2 /* midLen */
            bipush 10
            if_icmpne 20
        19: .line 1590
            aload 4 /* rightFill */
            areturn
        20: .line 1592
      StackMap locals:
      StackMap stack:
            aload 4 /* rightFill */
            iconst_0
            aload 3 /* midFill */
            invokestatic java.lang.invoke.MethodHandles.collectArguments:(Ljava/lang/invoke/MethodHandle;ILjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MethodHandle rightFill
        end local 3 // java.lang.invoke.MethodHandle midFill
        end local 2 // int midLen
        end local 1 // int rightLen
        end local 0 // int nargs
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0      nargs  I
            3   21     1   rightLen  I
            4   21     2     midLen  I
            8   12     3          j  I
           15   21     3    midFill  Ljava/lang/invoke/MethodHandle;
           16   21     4  rightFill  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
       Name  Flags
      nargs  

  static java.lang.invoke.MethodHandle varargsArray(java.lang.Class<?>, int);
    descriptor: (Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // java.lang.Class arrayType
        start local 1 // int nargs
         0: .line 1611
            aload 0 /* arrayType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 2 /* elemType */
        start local 2 // java.lang.Class elemType
         1: .line 1612
            aload 2 /* elemType */
            ifnonnull 2
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "not an array: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* arrayType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1614
      StackMap locals: java.lang.Class
      StackMap stack:
            iload 1 /* nargs */
            bipush 126
            if_icmplt 8
         3: .line 1615
            iload 1 /* nargs */
            istore 3 /* slots */
        start local 3 // int slots
         4: .line 1617
            iload 3 /* slots */
            sipush 254
            if_icmpgt 6
            aload 2 /* elemType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 6
         5: .line 1618
            iload 3 /* slots */
            aload 2 /* elemType */
            invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
            invokevirtual sun.invoke.util.Wrapper.stackSlots:()I
            imul
            istore 3 /* slots */
         6: .line 1619
      StackMap locals: int
      StackMap stack:
            iload 3 /* slots */
            sipush 254
            if_icmple 8
         7: .line 1620
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "too many arguments: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* arrayType */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", length "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* nargs */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int slots
         8: .line 1622
      StackMap locals:
      StackMap stack:
            aload 2 /* elemType */
            ldc Ljava/lang/Object;
            if_acmpne 10
         9: .line 1623
            iload 1 /* nargs */
            invokestatic java.lang.invoke.MethodHandleImpl.varargsArray:(I)Ljava/lang/invoke/MethodHandle;
            areturn
        10: .line 1625
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.TYPED_COLLECTORS:Ljava/lang/ClassValue;
            aload 2 /* elemType */
            invokevirtual java.lang.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.invoke.MethodHandle[]
            astore 3 /* cache */
        start local 3 // java.lang.invoke.MethodHandle[] cache
        11: .line 1626
            iload 1 /* nargs */
            aload 3 /* cache */
            arraylength
            if_icmpge 12
            aload 3 /* cache */
            iload 1 /* nargs */
            aaload
            goto 13
      StackMap locals: java.lang.invoke.MethodHandle[]
      StackMap stack:
        12: aconst_null
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodHandle
        13: astore 4 /* mh */
        start local 4 // java.lang.invoke.MethodHandle mh
        14: .line 1627
            aload 4 /* mh */
            ifnull 15
            aload 4 /* mh */
            areturn
        15: .line 1628
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            iload 1 /* nargs */
            ifne 19
        16: .line 1629
            aload 0 /* arrayType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            iconst_0
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            astore 5 /* example */
        start local 5 // java.lang.Object example
        17: .line 1630
            aload 0 /* arrayType */
            aload 5 /* example */
            invokestatic java.lang.invoke.MethodHandles.constant:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        end local 5 // java.lang.Object example
        18: .line 1631
            goto 29
      StackMap locals:
      StackMap stack:
        19: aload 2 /* elemType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 24
        20: .line 1632
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.MH_fillNewArray:Ljava/lang/invoke/MethodHandle;
            astore 5 /* builder */
        start local 5 // java.lang.invoke.MethodHandle builder
        21: .line 1633
            aload 0 /* arrayType */
            invokestatic java.lang.invoke.MethodHandleImpl.buildArrayProducer:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* producer */
        start local 6 // java.lang.invoke.MethodHandle producer
        22: .line 1634
            aload 5 /* builder */
            aload 6 /* producer */
            iload 1 /* nargs */
            invokestatic java.lang.invoke.MethodHandleImpl.buildVarargsArray:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        end local 6 // java.lang.invoke.MethodHandle producer
        end local 5 // java.lang.invoke.MethodHandle builder
        23: .line 1635
            goto 29
        24: .line 1636
      StackMap locals:
      StackMap stack:
            aload 0 /* arrayType */
            ldc [Ljava/lang/Object;
            invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
            astore 5 /* objArrayType */
        start local 5 // java.lang.Class objArrayType
        25: .line 1637
            getstatic java.lang.invoke.MethodHandleImpl.NO_ARGS_ARRAY:[Ljava/lang/Object;
            iconst_0
            aload 5 /* objArrayType */
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;ILjava/lang/Class;)[Ljava/lang/Object;
            astore 6 /* example */
        start local 6 // java.lang.Object[] example
        26: .line 1638
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.MH_fillNewTypedArray:Ljava/lang/invoke/MethodHandle;
            aload 6 /* example */
            invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 7 /* builder */
        start local 7 // java.lang.invoke.MethodHandle builder
        27: .line 1639
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.MH_arrayIdentity:Ljava/lang/invoke/MethodHandle;
            astore 8 /* producer */
        start local 8 // java.lang.invoke.MethodHandle producer
        28: .line 1640
            aload 7 /* builder */
            aload 8 /* producer */
            iload 1 /* nargs */
            invokestatic java.lang.invoke.MethodHandleImpl.buildVarargsArray:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        end local 8 // java.lang.invoke.MethodHandle producer
        end local 7 // java.lang.invoke.MethodHandle builder
        end local 6 // java.lang.Object[] example
        end local 5 // java.lang.Class objArrayType
        29: .line 1642
      StackMap locals:
      StackMap stack:
            aload 4 /* mh */
            aload 0 /* arrayType */
            iload 1 /* nargs */
            aload 2 /* elemType */
            invokestatic java.util.Collections.nCopies:(ILjava/lang/Object;)Ljava/util/List;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/util/List;)Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        30: .line 1643
            aload 4 /* mh */
            getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.NEW_ARRAY:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokestatic java.lang.invoke.MethodHandleImpl.makeIntrinsic:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        31: .line 1644
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 32
            aload 4 /* mh */
            iload 1 /* nargs */
            invokestatic java.lang.invoke.MethodHandleImpl.assertCorrectArity:(Ljava/lang/invoke/MethodHandle;I)Z
            ifne 32
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        32: .line 1645
      StackMap locals:
      StackMap stack:
            iload 1 /* nargs */
            aload 3 /* cache */
            arraylength
            if_icmpge 34
        33: .line 1646
            aload 3 /* cache */
            iload 1 /* nargs */
            aload 4 /* mh */
            aastore
        34: .line 1647
      StackMap locals:
      StackMap stack:
            aload 4 /* mh */
            areturn
        end local 4 // java.lang.invoke.MethodHandle mh
        end local 3 // java.lang.invoke.MethodHandle[] cache
        end local 2 // java.lang.Class elemType
        end local 1 // int nargs
        end local 0 // java.lang.Class arrayType
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   35     0     arrayType  Ljava/lang/Class<*>;
            0   35     1         nargs  I
            1   35     2      elemType  Ljava/lang/Class<*>;
            4    8     3         slots  I
           11   35     3         cache  [Ljava/lang/invoke/MethodHandle;
           14   35     4            mh  Ljava/lang/invoke/MethodHandle;
           17   18     5       example  Ljava/lang/Object;
           21   23     5       builder  Ljava/lang/invoke/MethodHandle;
           22   23     6      producer  Ljava/lang/invoke/MethodHandle;
           25   29     5  objArrayType  Ljava/lang/Class<+[Ljava/lang/Object;>;
           26   29     6       example  [Ljava/lang/Object;
           27   29     7       builder  Ljava/lang/invoke/MethodHandle;
           28   29     8      producer  Ljava/lang/invoke/MethodHandle;
    Signature: (Ljava/lang/Class<*>;I)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
           Name  Flags
      arrayType  
      nargs      

  private static java.lang.invoke.MethodHandle buildArrayProducer(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Class arrayType
         0: .line 1651
            aload 0 /* arrayType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 1 /* elemType */
        start local 1 // java.lang.Class elemType
         1: .line 1652
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 2
            aload 1 /* elemType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1653
      StackMap locals: java.lang.Class
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.MH_copyAsPrimitiveArray:Ljava/lang/invoke/MethodHandle;
            aload 1 /* elemType */
            invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
            invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.Class elemType
        end local 0 // java.lang.Class arrayType
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  arrayType  Ljava/lang/Class<*>;
            1    3     1   elemType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
           Name  Flags
      arrayType  

  static void assertSame(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.Object mh1
        start local 1 // java.lang.Object mh2
         0: .line 1657
            aload 0 /* mh1 */
            aload 1 /* mh2 */
            if_acmpeq 6
         1: .line 1658
            ldc "mh1 != mh2: mh1 = %s (form: %s); mh2 = %s (form: %s)"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 1659
            aload 0 /* mh1 */
            aastore
            dup
            iconst_1
            aload 0 /* mh1 */
            checkcast java.lang.invoke.MethodHandle
            getfield java.lang.invoke.MethodHandle.form:Ljava/lang/invoke/LambdaForm;
            aastore
            dup
            iconst_2
         3: .line 1660
            aload 1 /* mh2 */
            aastore
            dup
            iconst_3
            aload 1 /* mh2 */
            checkcast java.lang.invoke.MethodHandle
            getfield java.lang.invoke.MethodHandle.form:Ljava/lang/invoke/LambdaForm;
            aastore
         4: .line 1658
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* msg */
        start local 2 // java.lang.String msg
         5: .line 1661
            aload 2 /* msg */
            invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;)Ljava/lang/InternalError;
            athrow
        end local 2 // java.lang.String msg
         6: .line 1663
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object mh2
        end local 0 // java.lang.Object mh1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   mh1  Ljava/lang/Object;
            0    7     1   mh2  Ljava/lang/Object;
            5    6     2   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      mh1   
      mh2   
}
SourceFile: "MethodHandleImpl.java"
NestMembers:
  java.lang.invoke.MethodHandleImpl$1  java.lang.invoke.MethodHandleImpl$2  java.lang.invoke.MethodHandleImpl$3  java.lang.invoke.MethodHandleImpl$4  java.lang.invoke.MethodHandleImpl$ArrayAccessor  java.lang.invoke.MethodHandleImpl$ArrayAccessor$1  java.lang.invoke.MethodHandleImpl$AsVarargsCollector  java.lang.invoke.MethodHandleImpl$BindCaller  java.lang.invoke.MethodHandleImpl$BindCaller$1  java.lang.invoke.MethodHandleImpl$BindCaller$2  java.lang.invoke.MethodHandleImpl$BindCaller$T  java.lang.invoke.MethodHandleImpl$CountingWrapper  java.lang.invoke.MethodHandleImpl$Intrinsic  java.lang.invoke.MethodHandleImpl$IntrinsicMethodHandle  java.lang.invoke.MethodHandleImpl$Lazy  java.lang.invoke.MethodHandleImpl$WrappedMember
InnerClasses:
  SpeciesData = java.lang.invoke.BoundMethodHandle$SpeciesData of java.lang.invoke.BoundMethodHandle
  final BasicType = java.lang.invoke.LambdaForm$BasicType of java.lang.invoke.LambdaForm
  abstract Hidden = java.lang.invoke.LambdaForm$Hidden of java.lang.invoke.LambdaForm
  final Name = java.lang.invoke.LambdaForm$Name of java.lang.invoke.LambdaForm
  NamedFunction = java.lang.invoke.LambdaForm$NamedFunction of java.lang.invoke.LambdaForm
  Factory = java.lang.invoke.MemberName$Factory of java.lang.invoke.MemberName
  java.lang.invoke.MethodHandleImpl$1
  java.lang.invoke.MethodHandleImpl$2
  java.lang.invoke.MethodHandleImpl$3
  java.lang.invoke.MethodHandleImpl$4
  final ArrayAccessor = java.lang.invoke.MethodHandleImpl$ArrayAccessor of java.lang.invoke.MethodHandleImpl
  private final AsVarargsCollector = java.lang.invoke.MethodHandleImpl$AsVarargsCollector of java.lang.invoke.MethodHandleImpl
  private BindCaller = java.lang.invoke.MethodHandleImpl$BindCaller of java.lang.invoke.MethodHandleImpl
  CountingWrapper = java.lang.invoke.MethodHandleImpl$CountingWrapper of java.lang.invoke.MethodHandleImpl
  final Intrinsic = java.lang.invoke.MethodHandleImpl$Intrinsic of java.lang.invoke.MethodHandleImpl
  private final IntrinsicMethodHandle = java.lang.invoke.MethodHandleImpl$IntrinsicMethodHandle of java.lang.invoke.MethodHandleImpl
  Lazy = java.lang.invoke.MethodHandleImpl$Lazy of java.lang.invoke.MethodHandleImpl
  private final WrappedMember = java.lang.invoke.MethodHandleImpl$WrappedMember of java.lang.invoke.MethodHandleImpl
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles