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
{
  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 ARRAYS_COUNT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  private static final java.lang.invoke.MethodHandle[] ARRAYS;
    descriptor: [Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.Stable()

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

  private static final java.lang.invoke.MethodHandle[] FILL_ARRAYS;
    descriptor: [Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.Stable()

  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
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.Stable()

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

  static final byte NF_checkSpreadArgument;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final byte NF_guardWithCatch;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final byte NF_throwException;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final byte NF_tryFinally;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static final byte NF_loop;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final byte NF_profileBoolean;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  static final byte NF_LIMIT;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  private static final java.lang.invoke.LambdaForm$NamedFunction[] NFS;
    descriptor: [Ljava/lang/invoke/LambdaForm$NamedFunction;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.Stable()

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

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

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

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

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

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

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

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

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

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

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

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

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

  private static final java.lang.invoke.MethodHandle[] HANDLES;
    descriptor: [Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.Stable()

  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=2, locals=0, args_size=0
         0: .line 60
            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 1143
            iconst_2
            anewarray java.lang.invoke.MethodHandle
            putstatic java.lang.invoke.MethodHandleImpl.FAKE_METHOD_HANDLE_INVOKE:[Ljava/lang/invoke/MethodHandle;
         4: .line 1466
            iconst_0
            anewarray java.lang.Object
            putstatic java.lang.invoke.MethodHandleImpl.NO_ARGS_ARRAY:[Ljava/lang/Object;
         5: .line 1499
            getstatic java.lang.invoke.MethodHandleStatics.MAX_ARITY:I
            iconst_1
            iadd
            anewarray java.lang.invoke.MethodHandle
            putstatic java.lang.invoke.MethodHandleImpl.ARRAYS:[Ljava/lang/invoke/MethodHandle;
         6: .line 1548
            bipush 11
            anewarray java.lang.invoke.MethodHandle
            putstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAYS:[Ljava/lang/invoke/MethodHandle;
         7: .line 1620
            getstatic java.lang.invoke.MethodHandleStatics.MAX_ARITY:I
            iconst_1
            iadd
            anewarray java.lang.invoke.MethodHandle
            putstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAY_TO_RIGHT:[Ljava/lang/invoke/MethodHandle;
         8: .line 1736
            bipush 6
            anewarray java.lang.invoke.LambdaForm$NamedFunction
            putstatic java.lang.invoke.MethodHandleImpl.NFS:[Ljava/lang/invoke/LambdaForm$NamedFunction;
         9: .line 1777
            new java.lang.invoke.MethodHandleImpl$1
            dup
            invokespecial java.lang.invoke.MethodHandleImpl$1.<init>:()V
            invokestatic jdk.internal.misc.SharedSecrets.setJavaLangInvokeAccess:(Ljdk/internal/misc/JavaLangInvokeAccess;)V
        10: .line 2277
            bipush 12
            anewarray java.lang.invoke.MethodHandle
            putstatic java.lang.invoke.MethodHandleImpl.HANDLES:[Ljava/lang/invoke/MethodHandle;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.MethodHandleImpl this
         0: .line 60
            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 java.lang.invoke.MethodHandle makeArrayElementAccessor(java.lang.Class<?>, java.lang.invoke.MethodHandleImpl$ArrayAccess);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)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 // java.lang.invoke.MethodHandleImpl$ArrayAccess access
         0: .line 65
            aload 0 /* arrayClass */
            ldc [Ljava/lang/Object;
            if_acmpne 2
         1: .line 66
            aload 1 /* access */
            invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccess.objectAccessor:(Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/invoke/MethodHandle;
            areturn
         2: .line 68
      StackMap locals:
      StackMap stack:
            aload 0 /* arrayClass */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 4
         3: .line 69
            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
         4: .line 70
      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
         5: .line 71
            aload 1 /* access */
            invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccess.cacheIndex:(Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)I
            istore 3 /* cacheIndex */
        start local 3 // int cacheIndex
         6: .line 72
            aload 2 /* cache */
            iload 3 /* cacheIndex */
            aaload
            astore 4 /* mh */
        start local 4 // java.lang.invoke.MethodHandle mh
         7: .line 73
            aload 4 /* mh */
            ifnull 8
            aload 4 /* mh */
            areturn
         8: .line 74
      StackMap locals: java.lang.invoke.MethodHandle[] int java.lang.invoke.MethodHandle
      StackMap stack:
            aload 0 /* arrayClass */
            aload 1 /* access */
            invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccessor.getAccessor:(Ljava/lang/Class;Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
         9: .line 75
            aload 0 /* arrayClass */
            aload 1 /* access */
            invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccessor.correctType:(Ljava/lang/Class;Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/invoke/MethodType;
            astore 5 /* correctType */
        start local 5 // java.lang.invoke.MethodType correctType
        10: .line 76
            aload 4 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 5 /* correctType */
            if_acmpeq 18
        11: .line 77
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 12
            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 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 78
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 13
            aload 1 /* access */
            getstatic java.lang.invoke.MethodHandleImpl$ArrayAccess.SET:Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;
            if_acmpne 13
            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;
            ldc Ljava/lang/Object;
            if_acmpeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 79
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 17
            aload 1 /* access */
            getstatic java.lang.invoke.MethodHandleImpl$ArrayAccess.GET:Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;
            if_acmpne 17
        14: .line 80
            aload 4 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            ldc Ljava/lang/Object;
            if_acmpne 16
        15: .line 81
            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 17
      StackMap locals:
      StackMap stack:
        16: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 83
      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 */
        18: .line 85
      StackMap locals:
      StackMap stack:
            aload 4 /* mh */
            aload 1 /* access */
            invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccess.intrinsic:(Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)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 */
        19: .line 87
            aload 2 /* cache */
            dup
            astore 6
            monitorenter
        20: .line 88
            aload 2 /* cache */
            iload 3 /* cacheIndex */
            aaload
            ifnonnull 23
        21: .line 89
            aload 2 /* cache */
            iload 3 /* cacheIndex */
            aload 4 /* mh */
            aastore
        22: .line 90
            goto 24
        23: .line 92
      StackMap locals: java.lang.invoke.MethodHandle[]
      StackMap stack:
            aload 2 /* cache */
            iload 3 /* cacheIndex */
            aaload
            astore 4 /* mh */
        24: .line 87
      StackMap locals:
      StackMap stack:
            aload 6
            monitorexit
        25: goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: aload 6
            monitorexit
        27: athrow
        28: .line 95
      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 // java.lang.invoke.MethodHandleImpl$ArrayAccess access
        end local 0 // java.lang.Class arrayClass
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   29     0   arrayClass  Ljava/lang/Class<*>;
            0   29     1       access  Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;
            5   29     2        cache  [Ljava/lang/invoke/MethodHandle;
            6   29     3   cacheIndex  I
            7   29     4           mh  Ljava/lang/invoke/MethodHandle;
           10   29     5  correctType  Ljava/lang/invoke/MethodType;
      Exception table:
        from    to  target  type
          20    25      26  any
          26    27      26  any
    Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
            Name  Flags
      arrayClass  
      access      

  static java.lang.InternalError unmatchedArrayAccess(java.lang.invoke.MethodHandleImpl$ArrayAccess);
    descriptor: (Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/InternalError;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.invoke.MethodHandleImpl$ArrayAccess a
         0: .line 142
            new java.lang.StringBuilder
            dup
            ldc "should not reach here (unmatched ArrayAccess: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* a */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;)Ljava/lang/InternalError;
            areturn
        end local 0 // java.lang.invoke.MethodHandleImpl$ArrayAccess a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;
    MethodParameters:
      Name  Flags
      a     

  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 252
            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 253
            aload 1 /* srcType */
            aload 4 /* dstType */
            if_acmpne 3
         2: .line 254
            aload 0 /* target */
            areturn
         3: .line 255
      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 259
            iconst_0
            istore 1 /* count */
        start local 1 // int count
         1: .line 260
            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 261
            aload 2 /* x */
            ifnull 4
            iinc 1 /* count */ 1
        end local 2 // java.lang.Object x
         4: .line 260
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 263
            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 268
            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 269
            aload 4 /* convSpecs */
            invokestatic java.lang.invoke.MethodHandleImpl.countNonNull:([Ljava/lang/Object;)I
            istore 5 /* convCount */
        start local 5 // int convCount
         2: .line 270
            iload 5 /* convCount */
            ifne 4
         3: .line 271
            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 272
      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 273
            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 274
            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 277
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         8: goto 23
         9: .line 278
      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 279
            aload 10 /* convSpec */
            ifnonnull 11
            goto 22
        11: .line 281
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 10 /* convSpec */
            instanceof java.lang.Class
            ifeq 14
        12: .line 282
            iconst_0
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)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 283
            goto 15
        end local 11 // java.lang.invoke.MethodHandle fn
        14: .line 284
      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 286
      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 287
            iinc 5 /* convCount */ -1
            iload 5 /* convCount */
            ifne 18
        17: .line 288
            aload 1 /* srcType */
            astore 7 /* midType */
            goto 19
        18: .line 290
      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 291
      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 292
            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 293
            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 277
      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 295
            aload 4 /* convSpecs */
            aload 4 /* convSpecs */
            arraylength
            iconst_1
            isub
            aaload
            astore 9 /* convSpec */
        start local 9 // java.lang.Object convSpec
        25: .line 296
            aload 9 /* convSpec */
            ifnull 43
        26: .line 298
            aload 9 /* convSpec */
            instanceof java.lang.Class
            ifeq 32
        27: .line 299
            aload 9 /* convSpec */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 30
        28: .line 300
            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 302
      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:
            iconst_0
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)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 303
            goto 33
        end local 10 // java.lang.invoke.MethodHandle fn
        32: .line 304
      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 306
      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 307
            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 308
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* srcType */
            astore 7 /* midType */
        36: .line 309
            aload 10 /* fn */
            ifnull 41
        37: .line 310
            aload 8 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.rebind:()Ljava/lang/invoke/BoundMethodHandle;
            astore 8 /* mh */
        38: .line 311
            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 312
            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 313
            goto 43
        41: .line 314
      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 315
            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 318
      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 319
      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 320
      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 325
            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 327
      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 328
            aload 1 /* srcType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 5 /* INARG_COUNT */
        start local 5 // int INARG_COUNT
         3: .line 329
            aload 4 /* convSpecs */
            invokestatic java.lang.invoke.MethodHandleImpl.countNonNull:([Ljava/lang/Object;)I
            istore 6 /* convCount */
        start local 6 // int convCount
         4: .line 330
            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 331
            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 332
            iload 7 /* retConv */
            ifeq 13
            iload 8 /* retVoid */
            ifeq 13
        11: .line 333
            iinc 6 /* convCount */ -1
        12: .line 334
            iconst_0
            istore 7 /* retConv */
        13: .line 339
      StackMap locals: int
      StackMap stack:
            iconst_1
            iload 5 /* INARG_COUNT */
            iadd
            istore 9 /* INARG_LIMIT */
        start local 9 // int INARG_LIMIT
        14: .line 340
            iload 9 /* INARG_LIMIT */
            iload 6 /* convCount */
            iadd
            iconst_1
            iadd
            istore 10 /* NAME_LIMIT */
        start local 10 // int NAME_LIMIT
        15: .line 341
            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 342
            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 343
            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 346
            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 347
            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 351
            iconst_0
            iload 5 /* INARG_COUNT */
            iadd
            anewarray java.lang.Object
            astore 16 /* outArgs */
        start local 16 // java.lang.Object[] outArgs
        27: .line 353
            iload 9 /* INARG_LIMIT */
            istore 17 /* nameCursor */
        start local 17 // int nameCursor
        28: .line 354
            iconst_0
            istore 18 /* i */
        start local 18 // int i
        29: goto 45
        30: .line 355
      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 356
            aload 19 /* convSpec */
            ifnonnull 34
        32: .line 358
            aload 16 /* outArgs */
            iconst_0
            iload 18 /* i */
            iadd
            aload 15 /* names */
            iconst_1
            iload 18 /* i */
            iadd
            aaload
            aastore
        33: .line 359
            goto 44
        34: .line 363
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 19 /* convSpec */
            instanceof java.lang.Class
            ifeq 38
        35: .line 364
            aload 19 /* convSpec */
            checkcast java.lang.Class
            astore 21 /* convClass */
        start local 21 // java.lang.Class convClass
        36: .line 365
            new java.lang.invoke.LambdaForm$Name
            dup
            iconst_0
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)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 366
            goto 40
        end local 20 // java.lang.invoke.LambdaForm$Name conv
        38: .line 367
      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 368
            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 370
      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 371
      StackMap locals:
      StackMap stack:
            aload 15 /* names */
            iload 17 /* nameCursor */
            iinc 17 /* nameCursor */ 1
            aload 20 /* conv */
            aastore
        42: .line 372
            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 373
      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 354
      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 377
            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 378
      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 380
            aload 4 /* convSpecs */
            iload 5 /* INARG_COUNT */
            aaload
            astore 18 /* convSpec */
        start local 18 // java.lang.Object convSpec
        49: .line 381
            iload 7 /* retConv */
            ifne 51
        50: .line 382
            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 385
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 18 /* convSpec */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 54
        52: .line 386
            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 387
            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 388
            aload 18 /* convSpec */
            checkcast java.lang.Class
            astore 20 /* convClass */
        start local 20 // java.lang.Class convClass
        56: .line 389
            new java.lang.invoke.LambdaForm$Name
            dup
            iconst_0
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)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 390
            goto 63
        end local 19 // java.lang.invoke.LambdaForm$Name conv
        58: .line 391
      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 392
            aload 20 /* fn */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            ifne 62
        60: .line 393
            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 395
      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 397
      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 398
      StackMap locals:
      StackMap stack:
            aload 15 /* names */
            iload 11 /* RETURN_CONV */
            aload 19 /* conv */
            aastore
        65: .line 399
            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 402
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm
            dup
            aload 14 /* lambdaType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            aload 15 /* names */
            iload 13 /* RESULT */
            getstatic java.lang.invoke.LambdaForm$Kind.CONVERT:Ljava/lang/invoke/LambdaForm$Kind;
            invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;ILjava/lang/invoke/LambdaForm$Kind;)V
            astore 19 /* form */
        start local 19 // java.lang.invoke.LambdaForm form
        67: .line 403
            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 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 408
            aload 0 /* srcType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 4 /* INARG_COUNT */
        start local 4 // int INARG_COUNT
         1: .line 409
            iload 4 /* INARG_COUNT */
            iconst_1
            iadd
            anewarray java.lang.Object
            astore 5 /* convSpecs */
        start local 5 // java.lang.Object[] convSpecs
         2: .line 410
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 16
         4: .line 411
      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 412
            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 413
            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 414
            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 415
            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 410
      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 418
            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 422
            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 432
            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 433
      StackMap locals:
      StackMap stack:
            aload 1 /* dst */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 3
         2: .line 434
            aload 1 /* dst */
            areturn
         3: .line 436
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 19
         4: .line 437
            aload 0 /* src */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 6
         5: .line 438
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            areturn
         6: .line 439
      StackMap locals:
      StackMap stack:
            aload 1 /* dst */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 9
         7: .line 441
            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 442
            goto 30
        end local 4 // java.lang.invoke.MethodHandle fn
         9: .line 444
      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 445
            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 446
            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 447
      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 448
      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 450
            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 451
            iload 2 /* strict */
            ifeq 17
        16: .line 452
            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 454
      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 457
            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 458
            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 459
            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 461
      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 462
            goto 30
        end local 4 // java.lang.invoke.MethodHandle fn
        24: .line 466
      StackMap locals:
      StackMap stack:
            iload 2 /* strict */
            ifeq 26
        25: .line 467
            aload 5 /* wdst */
            invokestatic sun.invoke.util.ValueConversions.unboxWiden:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
            goto 27
        26: .line 468
      StackMap locals:
      StackMap stack:
            aload 5 /* wdst */
            invokestatic sun.invoke.util.ValueConversions.unboxCast:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
        27: .line 466
      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 470
            goto 30
        end local 4 // java.lang.invoke.MethodHandle fn
        29: .line 475
      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 477
      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 478
      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 482
            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 483
            aload 2 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iconst_1
            isub
            istore 3 /* last */
        start local 3 // int last
         2: .line 484
            aload 2 /* type */
            iload 3 /* last */
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aload 1 /* arrayType */
            if_acmpeq 4
         3: .line 485
            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 486
      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 487
            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 617
            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 619
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 7
         3: .line 620
      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 621
            aload 6 /* arg */
            ifnonnull 5
            ldc Ljava/lang/Object;
            astore 6 /* arg */
         5: .line 622
      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 619
            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 624
            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 626
            aload 4 /* targetType */
        10: .line 627
            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 626
            astore 5 /* srcType */
        start local 5 // java.lang.invoke.MethodType srcType
        12: .line 629
            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 630
            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 631
            aload 6 /* lambdaType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 8 /* nameCursor */
        start local 8 // int nameCursor
        15: .line 632
            aload 4 /* targetType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            newarray 10
            astore 9 /* indexes */
        start local 9 // int[] indexes
        16: .line 634
            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 635
      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 636
            iload 10 /* i */
            iload 2 /* spreadArgPos */
            if_icmpne 31
        21: .line 638
            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 639
            aload 7 /* names */
            iload 11 /* argIndex */
            aaload
            astore 13 /* array */
        start local 13 // java.lang.invoke.LambdaForm$Name array
        23: .line 640
            aload 7 /* names */
            iload 8 /* nameCursor */
            iinc 8 /* nameCursor */ 1
            new java.lang.invoke.LambdaForm$Name
            dup
            iconst_0
            invokestatic java.lang.invoke.MethodHandleImpl.getFunction:(B)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 641
            iconst_0
            istore 14 /* j */
        start local 14 // int j
        25: goto 29
        26: .line 642
      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 643
            aload 7 /* names */
            iload 8 /* nameCursor */
            iinc 8 /* nameCursor */ 1
            new java.lang.invoke.LambdaForm$Name
            dup
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            aload 12 /* aload */
            getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.ARRAY_LOAD:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
            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/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        28: .line 641
            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 645
            goto 33
      StackMap locals:
      StackMap stack:
        31: iload 10 /* i */
            aload 9 /* indexes */
            arraylength
            if_icmpge 33
        32: .line 646
            aload 9 /* indexes */
            iload 10 /* i */
            iload 11 /* argIndex */
            iastore
        33: .line 634
      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 649
            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 652
      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 653
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        38: goto 42
        39: .line 654
      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 655
            aload 10 /* targetArgs */
            iload 11 /* i */
            aload 7 /* names */
            iload 12 /* idx */
            aaload
            aastore
        end local 12 // int idx
        41: .line 653
            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 657
            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 659
            new java.lang.invoke.LambdaForm
            dup
            aload 6 /* lambdaType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            aload 7 /* names */
            getstatic java.lang.invoke.LambdaForm$Kind.SPREAD:Ljava/lang/invoke/LambdaForm$Kind;
            invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Kind;)V
            astore 11 /* form */
        start local 11 // java.lang.invoke.LambdaForm form
        45: .line 660
            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 664
            aload 0 /* av */
            ifnonnull 2
            iload 1 /* n */
            ifne 2
         1: .line 665
            return
         2: .line 666
      StackMap locals:
      StackMap stack:
            aload 0 /* av */
            ifnonnull 4
         3: .line 667
            new java.lang.NullPointerException
            dup
            ldc "null array reference"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 668
      StackMap locals:
      StackMap stack:
            aload 0 /* av */
            instanceof java.lang.Object[]
            ifeq 7
         5: .line 669
            aload 0 /* av */
            checkcast java.lang.Object[]
            arraylength
            istore 2 /* len */
        start local 2 // int len
         6: .line 670
            iload 2 /* len */
            iload 1 /* n */
            if_icmpne 9
            return
        end local 2 // int len
         7: .line 672
      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
         8: .line 673
            iload 2 /* len */
            iload 1 /* n */
            if_icmpne 9
            return
        end local 2 // int len
         9: .line 676
      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   10     0    av  Ljava/lang/Object;
            0   10     1     n  I
            6    7     2   len  I
            8    9     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 682
            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 683
            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 684
            aload 5 /* collectorType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 6 /* collectArgCount */
        start local 6 // int collectArgCount
         3: .line 685
            aload 5 /* collectorType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            astore 7 /* collectValType */
        start local 7 // java.lang.Class collectValType
         4: .line 686
            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 687
            aload 4 /* targetType */
         8: .line 688
            iload 2 /* collectArgPos */
            iload 2 /* collectArgPos */
            iload 8 /* collectValCount */
            iadd
            invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
         9: .line 687
            astore 9 /* srcType */
        start local 9 // java.lang.invoke.MethodType srcType
        10: .line 689
            iload 3 /* retainOriginalArgs */
            ifne 12
        11: .line 690
            aload 9 /* srcType */
            iload 2 /* collectArgPos */
            aload 5 /* collectorType */
            invokevirtual java.lang.invoke.MethodType.parameterArray:()[Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 9 /* srcType */
        12: .line 697
      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 698
            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 699
            aload 11 /* names */
            arraylength
            iconst_2
            isub
            istore 12 /* collectNamePos */
        start local 12 // int collectNamePos
        15: .line 700
            aload 11 /* names */
            arraylength
            iconst_1
            isub
            istore 13 /* targetNamePos */
        start local 13 // int targetNamePos
        16: .line 702
            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 703
            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 708
            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 709
            iconst_1
            istore 16 /* inputArgPos */
        start local 16 // int inputArgPos
        20: .line 710
            iconst_0
            istore 17 /* targetArgPos */
        start local 17 // int targetArgPos
        21: .line 711
            iload 2 /* collectArgPos */
            istore 18 /* chunk */
        start local 18 // int chunk
        22: .line 712
            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 713
            iload 16 /* inputArgPos */
            iload 18 /* chunk */
            iadd
            istore 16 /* inputArgPos */
        24: .line 714
            iload 17 /* targetArgPos */
            iload 18 /* chunk */
            iadd
            istore 17 /* targetArgPos */
        25: .line 715
            aload 7 /* collectValType */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpeq 27
        26: .line 716
            aload 15 /* targetArgs */
            iload 17 /* targetArgPos */
            iinc 17 /* targetArgPos */ 1
            aload 11 /* names */
            iload 12 /* collectNamePos */
            aaload
            aastore
        27: .line 718
      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 719
            iload 3 /* retainOriginalArgs */
            ifeq 31
        29: .line 720
            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 721
            iload 17 /* targetArgPos */
            iload 18 /* chunk */
            iadd
            istore 17 /* targetArgPos */
        31: .line 723
      StackMap locals:
      StackMap stack:
            iload 16 /* inputArgPos */
            iload 18 /* chunk */
            iadd
            istore 16 /* inputArgPos */
        32: .line 724
            aload 15 /* targetArgs */
            arraylength
            iload 17 /* targetArgPos */
            isub
            istore 18 /* chunk */
        33: .line 725
            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 726
            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 727
      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 729
            new java.lang.invoke.LambdaForm
            dup
            aload 10 /* lambdaType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            aload 11 /* names */
            getstatic java.lang.invoke.LambdaForm$Kind.COLLECT:Ljava/lang/invoke/LambdaForm$Kind;
            invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Kind;)V
            astore 19 /* form */
        start local 19 // java.lang.invoke.LambdaForm form
        37: .line 730
            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 736
            iload 0 /* testResult */
            ifeq 2
         1: .line 737
            aload 1 /* target */
            areturn
         2: .line 739
      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 749
            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 751
            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 752
            goto 7
      StackMap locals: int int[] int
      StackMap stack: java.lang.ArithmeticException
         5: pop
         6: .line 754
            aload 1 /* counters */
            iload 2 /* idx */
            aload 1 /* counters */
            iload 2 /* idx */
            iaload
            iconst_2
            idiv
            iastore
         7: .line 756
      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()
      jdk.internal.HotSpotIntrinsicCandidate()
    MethodParameters:
          Name  Flags
      result    
      counters  

  static boolean isCompileConstant(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 764
            iconst_0
            ireturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   obj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      java.lang.invoke.LambdaForm$Hidden()
      jdk.internal.HotSpotIntrinsicCandidate()
    MethodParameters:
      Name  Flags
      obj   

  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 771
            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 772
            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 773
      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 774
            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 777
            getstatic java.lang.invoke.MethodHandleStatics.PROFILE_GWT:Z
            ifeq 12
         6: .line 778
            iconst_2
            newarray 10
            astore 7 /* counts */
        start local 7 // int[] counts
         7: .line 780
            invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.factory:()Ljava/lang/invoke/MethodHandle;
            aload 3 /* type */
            aload 5 /* form */
         8: .line 781
            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 780
            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 779
            astore 6 /* mh */
        end local 7 // int[] counts
        start local 6 // java.lang.invoke.BoundMethodHandle mh
        11: .line 782
            goto 19
        end local 6 // java.lang.invoke.BoundMethodHandle mh
        12: .line 784
      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.factory:()Ljava/lang/invoke/MethodHandle;
            aload 3 /* type */
            aload 5 /* form */
        13: .line 785
            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 784
            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 783
            astore 6 /* mh */
        start local 6 // java.lang.invoke.BoundMethodHandle mh
        16: .line 787
            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 788
            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 790
      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 791
      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 797
            getstatic java.lang.invoke.MethodHandleStatics.DONT_INLINE_THRESHOLD:I
            iflt 2
         1: .line 798
            aload 0 /* target */
            invokestatic java.lang.invoke.MethodHandleImpl.makeBlockInliningWrapper:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            areturn
         2: .line 800
      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 makeBlockInliningWrapper(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 811
            getstatic java.lang.invoke.MethodHandleStatics.DONT_INLINE_THRESHOLD:I
            ifle 3
         1: .line 812
            getstatic java.lang.invoke.MethodHandleImpl$Makers.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
         2: .line 813
            goto 4
        end local 1 // java.lang.invoke.LambdaForm lform
         3: .line 814
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl$Makers.PRODUCE_REINVOKER_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
         4: .line 816
      StackMap locals: java.lang.invoke.LambdaForm
      StackMap stack:
            new java.lang.invoke.MethodHandleImpl$CountingWrapper
            dup
            aload 0 /* target */
            aload 1 /* lform */
         5: .line 817
            getstatic java.lang.invoke.MethodHandleImpl$Makers.PRODUCE_BLOCK_INLINING_FORM:Ljava/util/function/Function;
            getstatic java.lang.invoke.MethodHandleImpl$Makers.PRODUCE_REINVOKER_FORM:Ljava/util/function/Function;
         6: .line 818
            getstatic java.lang.invoke.MethodHandleStatics.DONT_INLINE_THRESHOLD:I
         7: .line 816
            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    8     0  target  Ljava/lang/invoke/MethodHandle;
            2    3     1   lform  Ljava/lang/invoke/LambdaForm;
            4    8     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 948
            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 949
            aload 1 /* lform */
            ifnull 2
            aload 1 /* lform */
            areturn
         2: .line 952
      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 953
            iload 2 /* ARG_LIMIT */
            istore 3 /* nameCursor */
        start local 3 // int nameCursor
         4: .line 954
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 4 /* GET_TEST */
        start local 4 // int GET_TEST
         5: .line 955
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 5 /* GET_TARGET */
        start local 5 // int GET_TARGET
         6: .line 956
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 6 /* GET_FALLBACK */
        start local 6 // int GET_FALLBACK
         7: .line 957
            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 958
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 8 /* CALL_TEST */
        start local 8 // int CALL_TEST
        11: .line 959
            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 960
            iload 3 /* nameCursor */
            iconst_1
            isub
            istore 10 /* TEST */
        start local 10 // int TEST
        15: .line 961
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 11 /* SELECT_ALT */
        start local 11 // int SELECT_ALT
        16: .line 962
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 12 /* CALL_TARGET */
        start local 12 // int CALL_TARGET
        17: .line 963
            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 965
      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 966
            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 969
            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 970
      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 968
      StackMap locals:
      StackMap stack: java.lang.invoke.BoundMethodHandle$SpeciesData
            astore 15 /* data */
        start local 15 // java.lang.invoke.BoundMethodHandle$SpeciesData data
        23: .line 971
            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 972
            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 973
            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 974
            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 975
            iload 7 /* GET_COUNTERS */
            iconst_m1
            if_icmpeq 29
        28: .line 976
            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 978
      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 981
            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 982
            aload 16 /* invokeArgs */
            iconst_0
            aload 14 /* names */
            iload 4 /* GET_TEST */
            aaload
            aastore
        32: .line 983
            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 986
            iload 9 /* PROFILE */
            iconst_m1
            if_icmpeq 35
        34: .line 987
            aload 14 /* names */
            iload 9 /* PROFILE */
            new java.lang.invoke.LambdaForm$Name
            dup
            iconst_5
            invokestatic java.lang.invoke.MethodHandleImpl.getFunction:(B)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 990
      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
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            iconst_1
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
            getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.SELECT_ALTERNATIVE:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
            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/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        36: .line 993
            aload 16 /* invokeArgs */
            iconst_0
            aload 14 /* names */
            iload 11 /* SELECT_ALT */
            aaload
            aastore
        37: .line 994
            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 996
            new java.lang.invoke.LambdaForm
            dup
            aload 13 /* lambdaType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            aload 14 /* names */
            iconst_1
            getstatic java.lang.invoke.LambdaForm$Kind.GUARD:Ljava/lang/invoke/LambdaForm$Kind;
            invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;ZLjava/lang/invoke/LambdaForm$Kind;)V
            astore 1 /* lform */
        39: .line 998
            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 1023
            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 1025
            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 1026
            aload 2 /* lform */
            ifnull 4
         3: .line 1027
            aload 2 /* lform */
            areturn
         4: .line 1031
      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 1033
            iload 3 /* ARG_LIMIT */
            istore 4 /* nameCursor */
        start local 4 // int nameCursor
         6: .line 1034
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 5 /* GET_TARGET */
        start local 5 // int GET_TARGET
         7: .line 1035
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 6 /* GET_CLASS */
        start local 6 // int GET_CLASS
         8: .line 1036
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 7 /* GET_CATCHER */
        start local 7 // int GET_CATCHER
         9: .line 1037
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 8 /* GET_COLLECT_ARGS */
        start local 8 // int GET_COLLECT_ARGS
        10: .line 1038
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 9 /* GET_UNBOX_RESULT */
        start local 9 // int GET_UNBOX_RESULT
        11: .line 1039
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 10 /* BOXED_ARGS */
        start local 10 // int BOXED_ARGS
        12: .line 1040
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 11 /* TRY_CATCH */
        start local 11 // int TRY_CATCH
        13: .line 1041
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 12 /* UNBOX_RESULT */
        start local 12 // int UNBOX_RESULT
        14: .line 1043
            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 1045
            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 1046
            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 1047
            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 1048
            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 1049
            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 1050
            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 1051
            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 1056
            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 1057
            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 1058
            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 1059
            aload 17 /* args */
            iconst_0
            aload 13 /* names */
            iload 8 /* GET_COLLECT_ARGS */
            aaload
            aastore
        26: .line 1060
            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 1061
            aload 13 /* names */
            iload 10 /* BOXED_ARGS */
            new java.lang.invoke.LambdaForm$Name
            dup
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            aload 16 /* invokeBasic */
            getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.GUARD_WITH_CATCH:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
            aload 17 /* args */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        28: .line 1064
            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 1065
            aload 13 /* names */
            iload 11 /* TRY_CATCH */
            new java.lang.invoke.LambdaForm$Name
            dup
            iconst_1
            invokestatic java.lang.invoke.MethodHandleImpl.getFunction:(B)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 1068
            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 1069
            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 1070
            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 1072
            new java.lang.invoke.LambdaForm
            dup
            aload 1 /* lambdaType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            aload 13 /* names */
            getstatic java.lang.invoke.LambdaForm$Kind.GUARD_WITH_CATCH:Ljava/lang/invoke/LambdaForm$Kind;
            invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Kind;)V
            astore 2 /* lform */
        34: .line 1074
            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=11, 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 1081
            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 1082
            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 1086
            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 1087
            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 1088
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            invokestatic java.lang.invoke.MethodHandleImpl.unboxResultHandle:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 7 /* unboxResult */
        start local 7 // java.lang.invoke.MethodHandle unboxResult
         5: .line 1090
            invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLLLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            astore 8 /* data */
        start local 8 // java.lang.invoke.BoundMethodHandle$SpeciesData data
         6: .line 1093
            aload 8 /* data */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.factory:()Ljava/lang/invoke/MethodHandle;
            aload 3 /* type */
            aload 4 /* form */
            aload 0 /* target */
            aload 1 /* exType */
         7: .line 1094
            aload 2 /* catcher */
            aload 6 /* collectArgs */
            aload 7 /* unboxResult */
         8: .line 1093
            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;
            astore 9 /* mh */
        start local 9 // java.lang.invoke.BoundMethodHandle mh
         9: .line 1095
            goto 12
        end local 9 // 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.invoke.BoundMethodHandle$SpeciesData
      StackMap stack: java.lang.Throwable
        10: astore 10 /* ex */
        start local 10 // java.lang.Throwable ex
        11: .line 1096
            aload 10 /* ex */
            invokestatic java.lang.invoke.MethodHandleStatics.uncaughtException:(Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
        end local 10 // java.lang.Throwable ex
        start local 9 // java.lang.invoke.BoundMethodHandle mh
        12: .line 1098
      StackMap locals: java.lang.invoke.BoundMethodHandle
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 13
            aload 9 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 3 /* type */
            if_acmpeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 1099
      StackMap locals:
      StackMap stack:
            aload 9 /* mh */
            areturn
        end local 9 // java.lang.invoke.BoundMethodHandle mh
        end local 8 // java.lang.invoke.BoundMethodHandle$SpeciesData data
        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   14     0       target  Ljava/lang/invoke/MethodHandle;
            0   14     1       exType  Ljava/lang/Class<+Ljava/lang/Throwable;>;
            0   14     2      catcher  Ljava/lang/invoke/MethodHandle;
            1   14     3         type  Ljava/lang/invoke/MethodType;
            2   14     4         form  Ljava/lang/invoke/LambdaForm;
            3   14     5  varargsType  Ljava/lang/invoke/MethodType;
            4   14     6  collectArgs  Ljava/lang/invoke/MethodHandle;
            5   14     7  unboxResult  Ljava/lang/invoke/MethodHandle;
            6   14     8         data  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            9   10     9           mh  Ljava/lang/invoke/BoundMethodHandle;
           12   14     9           mh  Ljava/lang/invoke/BoundMethodHandle;
           11   12    10           ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           6     9      10  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=6, 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 1111
            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 1112
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4 /* t */
        start local 4 // java.lang.Throwable t
         3: .line 1113
            aload 1 /* exType */
            aload 4 /* t */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 4
            aload 4 /* t */
            athrow
         4: .line 1114
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 2 /* catcher */
            invokevirtual java.lang.invoke.MethodHandle.asFixedArity:()Ljava/lang/invoke/MethodHandle;
            aload 3 /* av */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* t */
            aastore
            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: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // java.lang.Object[] array
        start local 1 // java.lang.Object[] elems
         0: .line 1121
            aload 0 /* array */
            arraylength
            istore 2 /* nArray */
        start local 2 // int nArray
         1: .line 1122
            aload 1 /* elems */
            arraylength
            istore 3 /* nElems */
        start local 3 // int nElems
         2: .line 1123
            iload 2 /* nArray */
            iload 3 /* nElems */
            iadd
            anewarray java.lang.Object
            astore 4 /* newArray */
        start local 4 // java.lang.Object[] newArray
         3: .line 1124
            aload 1 /* elems */
            iconst_0
            aload 4 /* newArray */
            iconst_0
            iload 3 /* nElems */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 1125
            aload 0 /* array */
            iconst_0
            aload 4 /* newArray */
            iload 3 /* nElems */
            iload 2 /* nArray */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 1126
            aload 4 /* newArray */
            areturn
        end local 4 // java.lang.Object[] newArray
        end local 3 // int nElems
        end local 2 // int nArray
        end local 1 // java.lang.Object[] elems
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0     array  [Ljava/lang/Object;
            0    6     1     elems  [Ljava/lang/Object;
            1    6     2    nArray  I
            2    6     3    nElems  I
            3    6     4  newArray  [Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      java.lang.invoke.LambdaForm$Hidden()
    MethodParameters:
       Name  Flags
      array  
      elems  

  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 1131
            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 1132
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 1 /* arity */
        start local 1 // int arity
         2: .line 1133
            iload 1 /* arity */
            iconst_1
            if_icmple 6
         3: .line 1134
            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 1135
            aload 2 /* mh */
            iconst_1
            aload 0 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterArray:()[Ljava/lang/Class;
            iconst_1
            iload 1 /* arity */
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
            checkcast java.lang.Class[]
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* mh */
         5: .line 1136
            aload 2 /* mh */
            areturn
        end local 2 // java.lang.invoke.MethodHandle mh
         6: .line 1138
      StackMap locals: int
      StackMap stack:
            iconst_2
            invokestatic java.lang.invoke.MethodHandleImpl.getFunction:(B)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 1141
            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 1146
            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 1147
      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 1148
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* idx */
        start local 1 // int idx
         5: goto 9
        end local 1 // int idx
         6: .line 1149
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* idx */
        start local 1 // int idx
         7: goto 9
        end local 1 // int idx
         8: .line 1150
      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 1152
      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 1153
            aload 3 /* mh */
            ifnull 11
            aload 3 /* mh */
            areturn
        11: .line 1154
      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 1155
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
            dup
            iconst_1
            ldc [Ljava/lang/Object;
            aastore
        13: .line 1154
            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 1156
            aload 4 /* type */
            invokestatic java.lang.invoke.MethodHandleImpl.throwException:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 3 /* mh */
        15: .line 1157
            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 1158
            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 1159
            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 1160
      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 1161
            aload 3 /* mh */
            iconst_1
            invokevirtual java.lang.invoke.MethodHandle.withVarargs:(Z)Ljava/lang/invoke/MethodHandle;
            astore 3 /* mh */
        20: .line 1162
            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 1163
      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 1164
            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 fakeVarHandleInvoke(java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // java.lang.invoke.MemberName method
         0: .line 1168
            aload 0 /* method */
            invokevirtual java.lang.invoke.MemberName.getReturnType:()Ljava/lang/Class;
            ldc Ljava/lang/UnsupportedOperationException;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
         1: .line 1169
            ldc Ljava/lang/invoke/VarHandle;
            aastore
            dup
            iconst_1
            ldc [Ljava/lang/Object;
            aastore
         2: .line 1168
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 1 /* type */
        start local 1 // java.lang.invoke.MethodType type
         3: .line 1170
            aload 1 /* type */
            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 1171
            aload 2 /* mh */
            new java.lang.UnsupportedOperationException
            dup
            ldc "cannot reflectively invoke VarHandle"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* mh */
         5: .line 1172
            aload 0 /* method */
            invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
            aload 2 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 1173
            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
         7: .line 1174
      StackMap locals: java.lang.invoke.MethodType java.lang.invoke.MethodHandle
      StackMap stack:
            aload 2 /* mh */
            aload 0 /* method */
            iconst_0
            invokevirtual java.lang.invoke.MethodHandle.withInternalMemberName:(Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/MethodHandle;
            astore 2 /* mh */
         8: .line 1175
            aload 2 /* mh */
            ldc [Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodHandle.asVarargsCollector:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* mh */
         9: .line 1176
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 10
            aload 0 /* method */
            invokevirtual java.lang.invoke.MemberName.isVarargs:()Z
            ifne 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 1177
      StackMap locals:
      StackMap stack:
            aload 2 /* mh */
            areturn
        end local 2 // java.lang.invoke.MethodHandle mh
        end local 1 // java.lang.invoke.MethodType type
        end local 0 // java.lang.invoke.MemberName method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0  method  Ljava/lang/invoke/MemberName;
            3   11     1    type  Ljava/lang/invoke/MethodType;
            4   11     2      mh  Ljava/lang/invoke/MethodHandle;
    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 1190
            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 1376
            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 1377
            aload 0 /* target */
            areturn
         2: .line 1378
      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 1444
            aload 1 /* intrinsicName */
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.intrinsicName:()Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            if_acmpne 2
         1: .line 1445
            aload 0 /* target */
            areturn
         2: .line 1446
      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 1450
            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 1456
            iload 1 /* nargs */
            invokestatic java.lang.invoke.MethodType.genericMethodType:(I)Ljava/lang/invoke/MethodType;
         1: .line 1457
            aload 2 /* rtype */
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
         2: .line 1458
            iconst_0
            aload 3 /* ptypes */
            invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
         3: .line 1456
            astore 4 /* type */
        start local 4 // java.lang.invoke.MethodType type
         4: .line 1460
            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 1461
      StackMap locals: java.lang.String int java.lang.Class java.lang.Class[] java.lang.invoke.MethodType
      StackMap stack: java.lang.ReflectiveOperationException
            pop
         7: .line 1462
            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 1467
            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 1468
            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 1470
            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 1472
            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 1474
            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 1476
            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 1479
            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 1482
            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 1485
            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 1488
            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 1492
            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 1496
            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.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 1504
            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 1505
            aload 2 /* a */
            iconst_0
            aload 1 /* args */
            invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
         2: .line 1506
            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 1509
            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 1510
            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 1511
      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 1512
            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 1515
            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 1516
            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 1519
            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 1521
            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 1523
            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 1525
            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 1528
            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 1531
            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 1534
            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 1537
            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 1541
            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 1545
            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 getFillArray(int);
    descriptor: (I)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // int count
         0: .line 1551
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 2
            iload 0 /* count */
            ifle 1
            iload 0 /* count */
            bipush 11
            if_icmplt 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1552
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAYS:[Ljava/lang/invoke/MethodHandle;
            iload 0 /* count */
            aaload
            astore 1 /* mh */
        start local 1 // java.lang.invoke.MethodHandle mh
         3: .line 1553
            aload 1 /* mh */
            ifnull 5
         4: .line 1554
            aload 1 /* mh */
            areturn
         5: .line 1556
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            ldc "fillArray"
            iload 0 /* count */
            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 */
         6: .line 1557
            getstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAYS:[Ljava/lang/invoke/MethodHandle;
            iload 0 /* count */
            aload 1 /* mh */
            aastore
         7: .line 1558
            aload 1 /* mh */
            areturn
        end local 1 // java.lang.invoke.MethodHandle mh
        end local 0 // int count
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0  count  I
            3    8     1     mh  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
       Name  Flags
      count  

  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 1562
            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 1563
            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 1564
            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 1571
            getstatic java.lang.invoke.MethodHandleImpl.ARRAYS:[Ljava/lang/invoke/MethodHandle;
            iload 0 /* nargs */
            aaload
            astore 1 /* mh */
        start local 1 // java.lang.invoke.MethodHandle mh
         1: .line 1572
            aload 1 /* mh */
            ifnull 3
         2: .line 1573
            aload 1 /* mh */
            areturn
         3: .line 1575
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            iload 0 /* nargs */
            bipush 11
            if_icmpge 6
         4: .line 1576
            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 */
         5: .line 1577
            goto 9
         6: .line 1578
      StackMap locals:
      StackMap stack:
            iconst_4
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
         7: .line 1579
            iconst_5
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
            iload 0 /* nargs */
         8: .line 1578
            invokestatic java.lang.invoke.MethodHandleImpl.buildVarargsArray:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
            astore 1 /* mh */
         9: .line 1581
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 10
            aload 1 /* mh */
            iload 0 /* nargs */
            invokestatic java.lang.invoke.MethodHandleImpl.assertCorrectArity:(Ljava/lang/invoke/MethodHandle;I)Z
            ifne 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 1582
      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 */
        11: .line 1583
            getstatic java.lang.invoke.MethodHandleImpl.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   12     0  nargs  I
            1   12     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 1587
            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 1588
      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 1593
            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 1600
            iload 2 /* nargs */
            bipush 10
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* leftLen */
        start local 3 // int leftLen
         1: .line 1601
            iload 2 /* nargs */
            iload 3 /* leftLen */
            isub
            istore 4 /* rightLen */
        start local 4 // int rightLen
         2: .line 1602
            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 1603
            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 1604
            aload 1 /* finisher */
            astore 6 /* mh */
        start local 6 // java.lang.invoke.MethodHandle mh
         5: .line 1605
            iload 4 /* rightLen */
            ifle 10
         6: .line 1606
            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 1607
            aload 6 /* mh */
            iconst_5
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 1608
            aload 7 /* rightFiller */
            astore 6 /* mh */
            goto 10
         9: .line 1610
      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 1612
      StackMap locals:
      StackMap stack:
            aload 6 /* mh */
            iconst_5
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 1613
            aload 5 /* leftCollector */
            astore 6 /* mh */
            goto 13
        12: .line 1615
      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 1616
      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 1626
            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 1627
            aload 1 /* filler */
            ifnull 2
            aload 1 /* filler */
            areturn
         2: .line 1628
      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 1629
            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 1630
      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 1633
            iload 0 /* nargs */
            bipush 10
            if_icmpgt 2
         1: .line 1634
            iconst_5
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
            areturn
         2: .line 1637
      StackMap locals:
      StackMap stack:
            iload 0 /* nargs */
            bipush 10
            irem
            istore 1 /* rightLen */
        start local 1 // int rightLen
         3: .line 1638
            iload 0 /* nargs */
            iload 1 /* rightLen */
            isub
            istore 2 /* midLen */
        start local 2 // int midLen
         4: .line 1639
            iload 1 /* rightLen */
            ifne 12
         5: .line 1640
            iload 0 /* nargs */
            bipush 10
            dup
            istore 1 /* rightLen */
            isub
            istore 2 /* midLen */
         6: .line 1641
            getstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAY_TO_RIGHT:[Ljava/lang/invoke/MethodHandle;
            iload 2 /* midLen */
            aaload
            ifnonnull 12
         7: .line 1643
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         8: goto 11
         9: .line 1644
      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 1643
      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 1647
      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 1648
      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 1649
      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 1650
            iload 1 /* rightLen */
            invokestatic java.lang.invoke.MethodHandleImpl.getFillArray:(I)Ljava/lang/invoke/MethodHandle;
            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 1651
            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 1652
      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 1658
      StackMap locals:
      StackMap stack:
            iload 2 /* midLen */
            bipush 10
            if_icmpne 20
        19: .line 1659
            aload 4 /* rightFill */
            areturn
        20: .line 1661
      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 1671
            aload 0 /* arrayType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 2 /* elemType */
        start local 2 // java.lang.Class elemType
         1: .line 1672
            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 1674
      StackMap locals: java.lang.Class
      StackMap stack:
            iload 1 /* nargs */
            bipush 126
            if_icmplt 8
         3: .line 1675
            iload 1 /* nargs */
            istore 3 /* slots */
        start local 3 // int slots
         4: .line 1677
            iload 3 /* slots */
            sipush 254
            if_icmpgt 6
            aload 2 /* elemType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 6
         5: .line 1678
            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 1679
      StackMap locals: int
      StackMap stack:
            iload 3 /* slots */
            sipush 254
            if_icmple 8
         7: .line 1680
            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 1682
      StackMap locals:
      StackMap stack:
            aload 2 /* elemType */
            ldc Ljava/lang/Object;
            if_acmpne 10
         9: .line 1683
            iload 1 /* nargs */
            invokestatic java.lang.invoke.MethodHandleImpl.varargsArray:(I)Ljava/lang/invoke/MethodHandle;
            areturn
        10: .line 1685
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl$Makers.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 1686
            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 1687
            aload 4 /* mh */
            ifnull 15
            aload 4 /* mh */
            areturn
        15: .line 1688
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            iload 1 /* nargs */
            ifne 19
        16: .line 1689
            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 1690
            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 1691
            goto 29
      StackMap locals:
      StackMap stack:
        19: aload 2 /* elemType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 24
        20: .line 1692
            iconst_4
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
            astore 5 /* builder */
        start local 5 // java.lang.invoke.MethodHandle builder
        21: .line 1693
            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 1694
            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 1695
            goto 29
        24: .line 1696
      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 1697
            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 1698
            iconst_3
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)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 1699
            iconst_5
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
            astore 8 /* producer */
        start local 8 // java.lang.invoke.MethodHandle producer
        28: .line 1700
            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 1702
      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 1703
            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 1704
            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 1705
      StackMap locals:
      StackMap stack:
            iload 1 /* nargs */
            aload 3 /* cache */
            arraylength
            if_icmpge 34
        33: .line 1706
            aload 3 /* cache */
            iload 1 /* nargs */
            aload 4 /* mh */
            aastore
        34: .line 1707
      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 1711
            aload 0 /* arrayType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 1 /* elemType */
        start local 1 // java.lang.Class elemType
         1: .line 1712
            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 1713
      StackMap locals: java.lang.Class
      StackMap stack:
            iconst_2
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)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 1717
            aload 0 /* mh1 */
            aload 1 /* mh2 */
            if_acmpeq 6
         1: .line 1718
            ldc "mh1 != mh2: mh1 = %s (form: %s); mh2 = %s (form: %s)"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 1719
            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 1720
            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 1718
            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 1721
            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 1723
      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   

  static java.lang.invoke.LambdaForm$NamedFunction getFunction(byte);
    descriptor: (B)Ljava/lang/invoke/LambdaForm$NamedFunction;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // byte func
         0: .line 1739
            getstatic java.lang.invoke.MethodHandleImpl.NFS:[Ljava/lang/invoke/LambdaForm$NamedFunction;
            iload 0 /* func */
            aaload
            astore 1 /* nf */
        start local 1 // java.lang.invoke.LambdaForm$NamedFunction nf
         1: .line 1740
            aload 1 /* nf */
            ifnull 3
         2: .line 1741
            aload 1 /* nf */
            areturn
         3: .line 1743
      StackMap locals: java.lang.invoke.LambdaForm$NamedFunction
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.NFS:[Ljava/lang/invoke/LambdaForm$NamedFunction;
            iload 0 /* func */
            iload 0 /* func */
            invokestatic java.lang.invoke.MethodHandleImpl.createFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
            dup_x2
            aastore
            areturn
        end local 1 // java.lang.invoke.LambdaForm$NamedFunction nf
        end local 0 // byte func
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  func  B
            1    4     1    nf  Ljava/lang/invoke/LambdaForm$NamedFunction;
    MethodParameters:
      Name  Flags
      func  

  private static java.lang.invoke.LambdaForm$NamedFunction createFunction(byte);
    descriptor: (B)Ljava/lang/invoke/LambdaForm$NamedFunction;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=2, args_size=1
        start local 0 // byte func
         0: .line 1748
            iload 0 /* func */
            tableswitch { // 0 - 5
                    0: 1
                    1: 5
                    2: 19
                    3: 11
                    4: 15
                    5: 23
              default: 27
          }
         1: .line 1750
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            ldc Ljava/lang/invoke/MethodHandleImpl;
         2: .line 1751
            ldc "checkSpreadArgument"
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
         3: .line 1750
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
         4: areturn
         5: .line 1753
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            ldc Ljava/lang/invoke/MethodHandleImpl;
         6: .line 1754
            ldc "guardWithCatch"
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Class;
            aastore
            dup
            iconst_2
         7: .line 1755
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
            dup
            iconst_3
            ldc [Ljava/lang/Object;
            aastore
         8: .line 1754
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
         9: .line 1753
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
        10: areturn
        11: .line 1757
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            ldc Ljava/lang/invoke/MethodHandleImpl;
        12: .line 1758
            ldc "tryFinally"
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
            dup
            iconst_2
            ldc [Ljava/lang/Object;
            aastore
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
        13: .line 1757
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
        14: areturn
        15: .line 1760
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            ldc Ljava/lang/invoke/MethodHandleImpl;
        16: .line 1761
            ldc "loop"
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc [Ljava/lang/invoke/LambdaForm$BasicType;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/invoke/MethodHandleImpl$LoopClauses;
            aastore
            dup
            iconst_2
            ldc [Ljava/lang/Object;
            aastore
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
        17: .line 1760
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
        18: areturn
        19: .line 1763
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            ldc Ljava/lang/invoke/MethodHandleImpl;
        20: .line 1764
            ldc "throwException"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Throwable;
            aastore
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
        21: .line 1763
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
        22: areturn
        23: .line 1766
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            ldc Ljava/lang/invoke/MethodHandleImpl;
        24: .line 1767
            ldc "profileBoolean"
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            ldc [I
            aastore
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
        25: .line 1766
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
        26: areturn
        27: .line 1769
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Undefined function: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* func */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 1771
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 1 /* ex */
        start local 1 // java.lang.ReflectiveOperationException ex
        29: .line 1772
            aload 1 /* ex */
            invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
            athrow
        end local 1 // java.lang.ReflectiveOperationException ex
        end local 0 // byte func
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   30     0  func  B
           29   30     1    ex  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     4      28  Class java.lang.ReflectiveOperationException
           5    10      28  Class java.lang.ReflectiveOperationException
          11    14      28  Class java.lang.ReflectiveOperationException
          15    18      28  Class java.lang.ReflectiveOperationException
          19    22      28  Class java.lang.ReflectiveOperationException
          23    26      28  Class java.lang.ReflectiveOperationException
          27    28      28  Class java.lang.ReflectiveOperationException
    MethodParameters:
      Name  Flags
      func  

  private static java.lang.invoke.MethodHandle unboxResultHandle(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 returnType
         0: .line 1855
            aload 0 /* returnType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 5
         1: .line 1856
            aload 0 /* returnType */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 3
         2: .line 1857
            invokestatic sun.invoke.util.ValueConversions.ignore:()Ljava/lang/invoke/MethodHandle;
            areturn
         3: .line 1859
      StackMap locals:
      StackMap stack:
            aload 0 /* returnType */
            invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
            astore 1 /* w */
        start local 1 // sun.invoke.util.Wrapper w
         4: .line 1860
            aload 1 /* w */
            invokestatic sun.invoke.util.ValueConversions.unboxExact:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // sun.invoke.util.Wrapper w
         5: .line 1863
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Object;
            invokestatic java.lang.invoke.MethodHandles.identity:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 0 // java.lang.Class returnType
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0  returnType  Ljava/lang/Class<*>;
            4    5     1           w  Lsun/invoke/util/Wrapper;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
            Name  Flags
      returnType  

  static java.lang.invoke.MethodHandle makeLoop(java.lang.Class<?>, java.util.List<java.lang.Class<?>>, java.util.List<java.lang.invoke.MethodHandle>, java.util.List<java.lang.invoke.MethodHandle>, java.util.List<java.lang.invoke.MethodHandle>, java.util.List<java.lang.invoke.MethodHandle>);
    descriptor: (Ljava/lang/Class;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=16, args_size=6
        start local 0 // java.lang.Class tloop
        start local 1 // java.util.List targs
        start local 2 // java.util.List init
        start local 3 // java.util.List step
        start local 4 // java.util.List pred
        start local 5 // java.util.List fini
         0: .line 1881
            aload 0 /* tloop */
            aload 1 /* targs */
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/util/List;)Ljava/lang/invoke/MethodType;
            astore 6 /* type */
        start local 6 // java.lang.invoke.MethodType type
         1: .line 1883
            aload 2 /* init */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/invoke/MethodHandleImpl.lambda$0(Ljava/lang/invoke/MethodHandle;)Ljava/lang/Class; (6)
                  (Ljava/lang/invoke/MethodHandle;)Ljava/lang/Class;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/invoke/LambdaForm$BasicType.basicType(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType; (6)
                  (Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/IntFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (I)Ljava/lang/Object;
                  java/lang/invoke/MethodHandleImpl.lambda$2(I)[Ljava/lang/invoke/LambdaForm$BasicType; (6)
                  (I)[Ljava/lang/invoke/LambdaForm$BasicType;
            invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
            checkcast java.lang.invoke.LambdaForm$BasicType[]
         2: .line 1882
            astore 7 /* initClauseTypes */
        start local 7 // java.lang.invoke.LambdaForm$BasicType[] initClauseTypes
         3: .line 1884
            aload 6 /* type */
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            aload 7 /* initClauseTypes */
            invokestatic java.lang.invoke.MethodHandleImpl.makeLoopForm:(Ljava/lang/invoke/MethodType;[Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm;
            astore 8 /* form */
        start local 8 // java.lang.invoke.LambdaForm form
         4: .line 1888
            aload 6 /* type */
            ldc [Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 9 /* varargsType */
        start local 9 // java.lang.invoke.MethodType varargsType
         5: .line 1889
            aload 6 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            invokestatic java.lang.invoke.MethodHandleImpl.varargsArray:(I)Ljava/lang/invoke/MethodHandle;
            aload 9 /* varargsType */
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 10 /* collectArgs */
        start local 10 // java.lang.invoke.MethodHandle collectArgs
         6: .line 1890
            aload 0 /* tloop */
            invokestatic java.lang.invoke.MethodHandleImpl.unboxResultHandle:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 11 /* unboxResult */
        start local 11 // java.lang.invoke.MethodHandle unboxResult
         7: .line 1893
            new java.lang.invoke.MethodHandleImpl$LoopClauses
            dup
            iconst_4
            anewarray java.lang.invoke.MethodHandle[]
            dup
            iconst_0
            aload 2 /* init */
            invokestatic java.lang.invoke.MethodHandleImpl.toArray:(Ljava/util/List;)[Ljava/lang/invoke/MethodHandle;
            aastore
            dup
            iconst_1
            aload 3 /* step */
            invokestatic java.lang.invoke.MethodHandleImpl.toArray:(Ljava/util/List;)[Ljava/lang/invoke/MethodHandle;
            aastore
            dup
            iconst_2
            aload 4 /* pred */
            invokestatic java.lang.invoke.MethodHandleImpl.toArray:(Ljava/util/List;)[Ljava/lang/invoke/MethodHandle;
            aastore
            dup
            iconst_3
            aload 5 /* fini */
            invokestatic java.lang.invoke.MethodHandleImpl.toArray:(Ljava/util/List;)[Ljava/lang/invoke/MethodHandle;
            aastore
            invokespecial java.lang.invoke.MethodHandleImpl$LoopClauses.<init>:([[Ljava/lang/invoke/MethodHandle;)V
         8: .line 1892
            astore 12 /* clauseData */
        start local 12 // java.lang.invoke.MethodHandleImpl$LoopClauses clauseData
         9: .line 1894
            invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            astore 13 /* data */
        start local 13 // java.lang.invoke.BoundMethodHandle$SpeciesData data
        10: .line 1897
            aload 13 /* data */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.factory:()Ljava/lang/invoke/MethodHandle;
            aload 6 /* type */
            aload 8 /* form */
            aload 12 /* clauseData */
        11: .line 1898
            aload 10 /* collectArgs */
            aload 11 /* unboxResult */
        12: .line 1897
            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;
            astore 14 /* mh */
        start local 14 // java.lang.invoke.BoundMethodHandle mh
        13: .line 1899
            goto 16
        end local 14 // java.lang.invoke.BoundMethodHandle mh
      StackMap locals: java.lang.Class java.util.List java.util.List java.util.List java.util.List java.util.List java.lang.invoke.MethodType java.lang.invoke.LambdaForm$BasicType[] java.lang.invoke.LambdaForm java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandleImpl$LoopClauses java.lang.invoke.BoundMethodHandle$SpeciesData
      StackMap stack: java.lang.Throwable
        14: astore 15 /* ex */
        start local 15 // java.lang.Throwable ex
        15: .line 1900
            aload 15 /* ex */
            invokestatic java.lang.invoke.MethodHandleStatics.uncaughtException:(Ljava/lang/Throwable;)Ljava/lang/Error;
            athrow
        end local 15 // java.lang.Throwable ex
        start local 14 // java.lang.invoke.BoundMethodHandle mh
        16: .line 1902
      StackMap locals: java.lang.invoke.BoundMethodHandle
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 17
            aload 14 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 6 /* type */
            if_acmpeq 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 1903
      StackMap locals:
      StackMap stack:
            aload 14 /* mh */
            areturn
        end local 14 // java.lang.invoke.BoundMethodHandle mh
        end local 13 // java.lang.invoke.BoundMethodHandle$SpeciesData data
        end local 12 // java.lang.invoke.MethodHandleImpl$LoopClauses clauseData
        end local 11 // java.lang.invoke.MethodHandle unboxResult
        end local 10 // java.lang.invoke.MethodHandle collectArgs
        end local 9 // java.lang.invoke.MethodType varargsType
        end local 8 // java.lang.invoke.LambdaForm form
        end local 7 // java.lang.invoke.LambdaForm$BasicType[] initClauseTypes
        end local 6 // java.lang.invoke.MethodType type
        end local 5 // java.util.List fini
        end local 4 // java.util.List pred
        end local 3 // java.util.List step
        end local 2 // java.util.List init
        end local 1 // java.util.List targs
        end local 0 // java.lang.Class tloop
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   18     0            tloop  Ljava/lang/Class<*>;
            0   18     1            targs  Ljava/util/List<Ljava/lang/Class<*>;>;
            0   18     2             init  Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;
            0   18     3             step  Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;
            0   18     4             pred  Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;
            0   18     5             fini  Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;
            1   18     6             type  Ljava/lang/invoke/MethodType;
            3   18     7  initClauseTypes  [Ljava/lang/invoke/LambdaForm$BasicType;
            4   18     8             form  Ljava/lang/invoke/LambdaForm;
            5   18     9      varargsType  Ljava/lang/invoke/MethodType;
            6   18    10      collectArgs  Ljava/lang/invoke/MethodHandle;
            7   18    11      unboxResult  Ljava/lang/invoke/MethodHandle;
            9   18    12       clauseData  Ljava/lang/invoke/MethodHandleImpl$LoopClauses;
           10   18    13             data  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
           13   14    14               mh  Ljava/lang/invoke/BoundMethodHandle;
           16   18    14               mh  Ljava/lang/invoke/BoundMethodHandle;
           15   16    15               ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          10    13      14  Class java.lang.Throwable
    Signature: (Ljava/lang/Class<*>;Ljava/util/List<Ljava/lang/Class<*>;>;Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
       Name  Flags
      tloop  
      targs  
      init   
      step   
      pred   
      fini   

  private static java.lang.invoke.MethodHandle[] toArray(java.util.List<java.lang.invoke.MethodHandle>);
    descriptor: (Ljava/util/List;)[Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.List l
         0: .line 1907
            aload 0 /* l */
            iconst_0
            anewarray java.lang.invoke.MethodHandle
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.invoke.MethodHandle[]
            areturn
        end local 0 // java.util.List l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     l  Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;
    Signature: (Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;)[Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      l     

  private static java.lang.invoke.LambdaForm makeLoopForm(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm$BasicType[]);
    descriptor: (Ljava/lang/invoke/MethodType;[Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=20, args_size=2
        start local 0 // java.lang.invoke.MethodType basicType
        start local 1 // java.lang.invoke.LambdaForm$BasicType[] localVarTypes
         0: .line 1939
            aload 0 /* basicType */
            invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
            astore 2 /* lambdaType */
        start local 2 // java.lang.invoke.MethodType lambdaType
         1: .line 1943
            iconst_1
            aload 0 /* basicType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iadd
            istore 3 /* ARG_LIMIT */
        start local 3 // int ARG_LIMIT
         2: .line 1945
            iload 3 /* ARG_LIMIT */
            istore 4 /* nameCursor */
        start local 4 // int nameCursor
         3: .line 1946
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 5 /* GET_CLAUSE_DATA */
        start local 5 // int GET_CLAUSE_DATA
         4: .line 1947
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 6 /* GET_COLLECT_ARGS */
        start local 6 // int GET_COLLECT_ARGS
         5: .line 1948
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 7 /* GET_UNBOX_RESULT */
        start local 7 // int GET_UNBOX_RESULT
         6: .line 1949
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 8 /* BOXED_ARGS */
        start local 8 // int BOXED_ARGS
         7: .line 1950
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 9 /* LOOP */
        start local 9 // int LOOP
         8: .line 1951
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 10 /* UNBOX_RESULT */
        start local 10 // int UNBOX_RESULT
         9: .line 1953
            aload 0 /* basicType */
            invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
            bipush 19
            invokevirtual java.lang.invoke.MethodTypeForm.cachedLambdaForm:(I)Ljava/lang/invoke/LambdaForm;
            astore 11 /* lform */
        start local 11 // java.lang.invoke.LambdaForm lform
        10: .line 1954
            aload 11 /* lform */
            ifnonnull 33
        11: .line 1955
            iload 4 /* nameCursor */
            iload 3 /* ARG_LIMIT */
            isub
            aload 2 /* lambdaType */
            invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
            astore 12 /* names */
        start local 12 // java.lang.invoke.LambdaForm$Name[] names
        12: .line 1957
            invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            astore 13 /* data */
        start local 13 // java.lang.invoke.BoundMethodHandle$SpeciesData data
        13: .line 1958
            aload 12 /* names */
            iconst_0
            aload 12 /* names */
            iconst_0
            aaload
            aload 13 /* data */
            invokevirtual java.lang.invoke.LambdaForm$Name.withConstraint:(Ljava/lang/Object;)Ljava/lang/invoke/LambdaForm$Name;
            aastore
        14: .line 1959
            aload 12 /* names */
            iload 5 /* GET_CLAUSE_DATA */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 13 /* 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 12 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        15: .line 1960
            aload 12 /* names */
            iload 6 /* GET_COLLECT_ARGS */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 13 /* 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 12 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        16: .line 1961
            aload 12 /* names */
            iload 7 /* GET_UNBOX_RESULT */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 13 /* 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 12 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        17: .line 1964
            aload 0 /* basicType */
            ldc Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 14 /* collectArgsType */
        start local 14 // java.lang.invoke.MethodType collectArgsType
        18: .line 1965
            aload 14 /* collectArgsType */
            invokestatic java.lang.invoke.MethodHandles.basicInvoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 15 /* invokeBasic */
        start local 15 // java.lang.invoke.MethodHandle invokeBasic
        19: .line 1966
            aload 15 /* invokeBasic */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            anewarray java.lang.Object
            astore 16 /* args */
        start local 16 // java.lang.Object[] args
        20: .line 1967
            aload 16 /* args */
            iconst_0
            aload 12 /* names */
            iload 6 /* GET_COLLECT_ARGS */
            aaload
            aastore
        21: .line 1968
            aload 12 /* names */
            iconst_1
            aload 16 /* args */
            iconst_1
            iload 3 /* ARG_LIMIT */
            iconst_1
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        22: .line 1969
            aload 12 /* names */
            iload 8 /* BOXED_ARGS */
            new java.lang.invoke.LambdaForm$Name
            dup
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            aload 15 /* invokeBasic */
            getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.LOOP:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
            aload 16 /* args */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        23: .line 1973
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_1
        24: .line 1974
            aload 12 /* names */
            iload 5 /* GET_CLAUSE_DATA */
            aaload
            aastore
            dup
            iconst_2
            aload 12 /* names */
            iload 8 /* BOXED_ARGS */
            aaload
            aastore
        25: .line 1972
            astore 17 /* lArgs */
        start local 17 // java.lang.Object[] lArgs
        26: .line 1975
            aload 12 /* names */
            iload 9 /* LOOP */
            new java.lang.invoke.LambdaForm$Name
            dup
            iconst_4
            invokestatic java.lang.invoke.MethodHandleImpl.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
            aload 17 /* lArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        27: .line 1978
            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 18 /* invokeBasicUnbox */
        start local 18 // java.lang.invoke.MethodHandle invokeBasicUnbox
        28: .line 1979
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 12 /* names */
            iload 7 /* GET_UNBOX_RESULT */
            aaload
            aastore
            dup
            iconst_1
            aload 12 /* names */
            iload 9 /* LOOP */
            aaload
            aastore
            astore 19 /* unboxArgs */
        start local 19 // java.lang.Object[] unboxArgs
        29: .line 1980
            aload 12 /* names */
            iload 10 /* UNBOX_RESULT */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 18 /* invokeBasicUnbox */
            aload 19 /* unboxArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            aastore
        30: .line 1982
            aload 0 /* basicType */
            invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
            bipush 19
        31: .line 1983
            new java.lang.invoke.LambdaForm
            dup
            aload 2 /* lambdaType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            aload 12 /* names */
            getstatic java.lang.invoke.LambdaForm$Kind.LOOP:Ljava/lang/invoke/LambdaForm$Kind;
            invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Kind;)V
        32: .line 1982
            invokevirtual java.lang.invoke.MethodTypeForm.setCachedLambdaForm:(ILjava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
            astore 11 /* lform */
        end local 19 // java.lang.Object[] unboxArgs
        end local 18 // java.lang.invoke.MethodHandle invokeBasicUnbox
        end local 17 // java.lang.Object[] lArgs
        end local 16 // java.lang.Object[] args
        end local 15 // java.lang.invoke.MethodHandle invokeBasic
        end local 14 // java.lang.invoke.MethodType collectArgsType
        end local 13 // java.lang.invoke.BoundMethodHandle$SpeciesData data
        end local 12 // java.lang.invoke.LambdaForm$Name[] names
        33: .line 1987
      StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm$BasicType[] java.lang.invoke.MethodType int int int int int int int int java.lang.invoke.LambdaForm
      StackMap stack:
            aload 11 /* lform */
            invokevirtual java.lang.invoke.LambdaForm.editor:()Ljava/lang/invoke/LambdaFormEditor;
            iload 8 /* BOXED_ARGS */
            aload 1 /* localVarTypes */
            invokevirtual java.lang.invoke.LambdaFormEditor.noteLoopLocalTypesForm:(I[Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm;
            areturn
        end local 11 // java.lang.invoke.LambdaForm lform
        end local 10 // int UNBOX_RESULT
        end local 9 // int LOOP
        end local 8 // int BOXED_ARGS
        end local 7 // int GET_UNBOX_RESULT
        end local 6 // int GET_COLLECT_ARGS
        end local 5 // int GET_CLAUSE_DATA
        end local 4 // int nameCursor
        end local 3 // int ARG_LIMIT
        end local 2 // java.lang.invoke.MethodType lambdaType
        end local 1 // java.lang.invoke.LambdaForm$BasicType[] localVarTypes
        end local 0 // java.lang.invoke.MethodType basicType
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   34     0         basicType  Ljava/lang/invoke/MethodType;
            0   34     1     localVarTypes  [Ljava/lang/invoke/LambdaForm$BasicType;
            1   34     2        lambdaType  Ljava/lang/invoke/MethodType;
            2   34     3         ARG_LIMIT  I
            3   34     4        nameCursor  I
            4   34     5   GET_CLAUSE_DATA  I
            5   34     6  GET_COLLECT_ARGS  I
            6   34     7  GET_UNBOX_RESULT  I
            7   34     8        BOXED_ARGS  I
            8   34     9              LOOP  I
            9   34    10      UNBOX_RESULT  I
           10   34    11             lform  Ljava/lang/invoke/LambdaForm;
           12   33    12             names  [Ljava/lang/invoke/LambdaForm$Name;
           13   33    13              data  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
           18   33    14   collectArgsType  Ljava/lang/invoke/MethodType;
           19   33    15       invokeBasic  Ljava/lang/invoke/MethodHandle;
           20   33    16              args  [Ljava/lang/Object;
           26   33    17             lArgs  [Ljava/lang/Object;
           28   33    18  invokeBasicUnbox  Ljava/lang/invoke/MethodHandle;
           29   33    19         unboxArgs  [Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      basicType      
      localVarTypes  

  static java.lang.Object loop(java.lang.invoke.LambdaForm$BasicType[], java.lang.invoke.MethodHandleImpl$LoopClauses, java.lang.Object[]);
    descriptor: ([Ljava/lang/invoke/LambdaForm$BasicType;Ljava/lang/invoke/MethodHandleImpl$LoopClauses;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=16, args_size=3
        start local 0 // java.lang.invoke.LambdaForm$BasicType[] localTypes
        start local 1 // java.lang.invoke.MethodHandleImpl$LoopClauses clauseData
        start local 2 // java.lang.Object[] av
         0: .line 2023
            aload 1 /* clauseData */
            getfield java.lang.invoke.MethodHandleImpl$LoopClauses.clauses:[[Ljava/lang/invoke/MethodHandle;
            iconst_0
            aaload
            astore 3 /* init */
        start local 3 // java.lang.invoke.MethodHandle[] init
         1: .line 2024
            aload 1 /* clauseData */
            getfield java.lang.invoke.MethodHandleImpl$LoopClauses.clauses:[[Ljava/lang/invoke/MethodHandle;
            iconst_1
            aaload
            astore 4 /* step */
        start local 4 // java.lang.invoke.MethodHandle[] step
         2: .line 2025
            aload 1 /* clauseData */
            getfield java.lang.invoke.MethodHandleImpl$LoopClauses.clauses:[[Ljava/lang/invoke/MethodHandle;
            iconst_2
            aaload
            astore 5 /* pred */
        start local 5 // java.lang.invoke.MethodHandle[] pred
         3: .line 2026
            aload 1 /* clauseData */
            getfield java.lang.invoke.MethodHandleImpl$LoopClauses.clauses:[[Ljava/lang/invoke/MethodHandle;
            iconst_3
            aaload
            astore 6 /* fini */
        start local 6 // java.lang.invoke.MethodHandle[] fini
         4: .line 2027
            aload 3 /* init */
            invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  java/lang/invoke/MethodHandleImpl.lambda$3(Ljava/lang/invoke/MethodHandle;)Z (6)
                  (Ljava/lang/invoke/MethodHandle;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.count:()J
            l2i
            istore 7 /* varSize */
        start local 7 // int varSize
         5: .line 2028
            aload 3 /* init */
            iconst_0
            aaload
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 8 /* nArgs */
        start local 8 // int nArgs
         6: .line 2029
            iload 7 /* varSize */
            iload 8 /* nArgs */
            iadd
            anewarray java.lang.Object
            astore 9 /* varsAndArgs */
        start local 9 // java.lang.Object[] varsAndArgs
         7: .line 2030
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         8: iconst_0
            istore 11 /* v */
        start local 11 // int v
         9: goto 16
        10: .line 2031
      StackMap locals: java.lang.invoke.LambdaForm$BasicType[] java.lang.invoke.MethodHandleImpl$LoopClauses java.lang.Object[] java.lang.invoke.MethodHandle[] java.lang.invoke.MethodHandle[] java.lang.invoke.MethodHandle[] java.lang.invoke.MethodHandle[] int int java.lang.Object[] int int
      StackMap stack:
            aload 3 /* init */
            iload 10 /* i */
            aaload
            astore 12 /* ih */
        start local 12 // java.lang.invoke.MethodHandle ih
        11: .line 2032
            aload 12 /* ih */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 14
        12: .line 2033
            aload 12 /* ih */
            aload 2 /* av */
            invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 2034
            goto 15
        14: .line 2035
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 9 /* varsAndArgs */
            iload 11 /* v */
            iinc 11 /* v */ 1
            aload 12 /* ih */
            aload 2 /* av */
            invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
            aastore
        end local 12 // java.lang.invoke.MethodHandle ih
        15: .line 2030
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 10 /* i */
            aload 3 /* init */
            arraylength
            if_icmplt 10
        end local 11 // int v
        end local 10 // int i
        17: .line 2038
            aload 2 /* av */
            iconst_0
            aload 9 /* varsAndArgs */
            iload 7 /* varSize */
            iload 8 /* nArgs */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        18: .line 2039
            aload 4 /* step */
            arraylength
            istore 10 /* nSteps */
        start local 10 // int nSteps
        19: .line 2041
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        20: iconst_0
            istore 12 /* v */
        start local 12 // int v
        21: goto 32
        22: .line 2042
      StackMap locals: int int
      StackMap stack:
            aload 5 /* pred */
            iload 11 /* i */
            aaload
            astore 13 /* p */
        start local 13 // java.lang.invoke.MethodHandle p
        23: .line 2043
            aload 4 /* step */
            iload 11 /* i */
            aaload
            astore 14 /* s */
        start local 14 // java.lang.invoke.MethodHandle s
        24: .line 2044
            aload 6 /* fini */
            iload 11 /* i */
            aaload
            astore 15 /* f */
        start local 15 // java.lang.invoke.MethodHandle f
        25: .line 2045
            aload 14 /* s */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 28
        26: .line 2046
            aload 14 /* s */
            aload 9 /* varsAndArgs */
            invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 2047
            goto 29
        28: .line 2048
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle
      StackMap stack:
            aload 9 /* varsAndArgs */
            iload 12 /* v */
            iinc 12 /* v */ 1
            aload 14 /* s */
            aload 9 /* varsAndArgs */
            invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
            aastore
        29: .line 2050
      StackMap locals:
      StackMap stack:
            aload 13 /* p */
            aload 9 /* varsAndArgs */
            invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 31
        30: .line 2051
            aload 15 /* f */
            aload 9 /* varsAndArgs */
            invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 15 // java.lang.invoke.MethodHandle f
        end local 14 // java.lang.invoke.MethodHandle s
        end local 13 // java.lang.invoke.MethodHandle p
        31: .line 2041
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 11 /* i */
            iload 10 /* nSteps */
            if_icmplt 22
        end local 12 // int v
        end local 11 // int i
        33: .line 2040
            goto 19
        end local 10 // int nSteps
        end local 9 // java.lang.Object[] varsAndArgs
        end local 8 // int nArgs
        end local 7 // int varSize
        end local 6 // java.lang.invoke.MethodHandle[] fini
        end local 5 // java.lang.invoke.MethodHandle[] pred
        end local 4 // java.lang.invoke.MethodHandle[] step
        end local 3 // java.lang.invoke.MethodHandle[] init
        end local 2 // java.lang.Object[] av
        end local 1 // java.lang.invoke.MethodHandleImpl$LoopClauses clauseData
        end local 0 // java.lang.invoke.LambdaForm$BasicType[] localTypes
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   34     0   localTypes  [Ljava/lang/invoke/LambdaForm$BasicType;
            0   34     1   clauseData  Ljava/lang/invoke/MethodHandleImpl$LoopClauses;
            0   34     2           av  [Ljava/lang/Object;
            1   34     3         init  [Ljava/lang/invoke/MethodHandle;
            2   34     4         step  [Ljava/lang/invoke/MethodHandle;
            3   34     5         pred  [Ljava/lang/invoke/MethodHandle;
            4   34     6         fini  [Ljava/lang/invoke/MethodHandle;
            5   34     7      varSize  I
            6   34     8        nArgs  I
            7   34     9  varsAndArgs  [Ljava/lang/Object;
            8   17    10            i  I
            9   17    11            v  I
           11   15    12           ih  Ljava/lang/invoke/MethodHandle;
           19   34    10       nSteps  I
           20   33    11            i  I
           21   33    12            v  I
           23   31    13            p  Ljava/lang/invoke/MethodHandle;
           24   31    14            s  Ljava/lang/invoke/MethodHandle;
           25   31    15            f  Ljava/lang/invoke/MethodHandle;
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      java.lang.invoke.LambdaForm$Hidden()
    MethodParameters:
            Name  Flags
      localTypes  
      clauseData  
      av          

  static boolean countedLoopPredicate(int, int);
    descriptor: (II)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int limit
        start local 1 // int counter
         0: .line 2067
            iload 1 /* counter */
            iload 0 /* limit */
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int counter
        end local 0 // int limit
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0    limit  I
            0    2     1  counter  I
    MethodParameters:
         Name  Flags
      limit    
      counter  

  static int countedLoopStep(int, int);
    descriptor: (II)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int limit
        start local 1 // int counter
         0: .line 2080
            iload 1 /* counter */
            iconst_1
            iadd
            ireturn
        end local 1 // int counter
        end local 0 // int limit
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0    limit  I
            0    1     1  counter  I
    MethodParameters:
         Name  Flags
      limit    
      counter  

  static java.util.Iterator<?> initIterator(java.lang.Iterable<?>);
    descriptor: (Ljava/lang/Iterable;)Ljava/util/Iterator;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Iterable it
         0: .line 2091
            aload 0 /* it */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // java.lang.Iterable it
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    it  Ljava/lang/Iterable<*>;
    Signature: (Ljava/lang/Iterable<*>;)Ljava/util/Iterator<*>;
    MethodParameters:
      Name  Flags
      it    

  static boolean iteratePredicate(java.util.Iterator<?>);
    descriptor: (Ljava/util/Iterator;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Iterator it
         0: .line 2102
            aload 0 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ireturn
        end local 0 // java.util.Iterator it
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    it  Ljava/util/Iterator<*>;
    Signature: (Ljava/util/Iterator<*>;)Z
    MethodParameters:
      Name  Flags
      it    

  static  iterateNext(java.util.Iterator<?>);
    descriptor: (Ljava/util/Iterator;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Iterator it
         0: .line 2114
            aload 0 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            areturn
        end local 0 // java.util.Iterator it
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    it  Ljava/util/Iterator<*>;
    Signature: (Ljava/util/Iterator<*>;)Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      it    

  static java.lang.invoke.MethodHandle makeTryFinally(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.Class<?>, java.util.List<java.lang.Class<?>>);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljava/util/List;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=12, args_size=4
        start local 0 // java.lang.invoke.MethodHandle target
        start local 1 // java.lang.invoke.MethodHandle cleanup
        start local 2 // java.lang.Class rtype
        start local 3 // java.util.List argTypes
         0: .line 2128
            aload 2 /* rtype */
            aload 3 /* argTypes */
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/util/List;)Ljava/lang/invoke/MethodType;
            astore 4 /* type */
        start local 4 // java.lang.invoke.MethodType type
         1: .line 2129
            aload 4 /* type */
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            invokestatic java.lang.invoke.MethodHandleImpl.makeTryFinallyForm:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm;
            astore 5 /* form */
        start local 5 // java.lang.invoke.LambdaForm form
         2: .line 2133
            aload 4 /* type */
            ldc [Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 6 /* varargsType */
        start local 6 // java.lang.invoke.MethodType varargsType
         3: .line 2134
            aload 4 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            invokestatic java.lang.invoke.MethodHandleImpl.varargsArray:(I)Ljava/lang/invoke/MethodHandle;
            aload 6 /* varargsType */
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 7 /* collectArgs */
        start local 7 // java.lang.invoke.MethodHandle collectArgs
         4: .line 2135
            aload 2 /* rtype */
            invokestatic java.lang.invoke.MethodHandleImpl.unboxResultHandle:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 8 /* unboxResult */
        start local 8 // java.lang.invoke.MethodHandle unboxResult
         5: .line 2137
            invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            astore 9 /* data */
        start local 9 // java.lang.invoke.BoundMethodHandle$SpeciesData data
         6: .line 2140
            aload 9 /* data */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.factory:()Ljava/lang/invoke/MethodHandle;
            aload 4 /* type */
            aload 5 /* form */
            aload 0 /* target */
            aload 1 /* cleanup */
         7: .line 2141
            aload 7 /* collectArgs */
            aload 8 /* unboxResult */
         8: .line 2140
            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/invoke/BoundMethodHandle;
            astore 10 /* mh */
        start local 10 // java.lang.invoke.BoundMethodHandle mh
         9: .line 2142
            goto 12
        end local 10 // java.lang.invoke.BoundMethodHandle mh
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.Class java.util.List java.lang.invoke.MethodType java.lang.invoke.LambdaForm java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.BoundMethodHandle$SpeciesData
      StackMap stack: java.lang.Throwable
        10: astore 11 /* ex */
        start local 11 // java.lang.Throwable ex
        11: .line 2143
            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
        12: .line 2145
      StackMap locals: java.lang.invoke.BoundMethodHandle
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 13
            aload 10 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 4 /* type */
            if_acmpeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 2146
      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.invoke.MethodHandle unboxResult
        end local 7 // java.lang.invoke.MethodHandle collectArgs
        end local 6 // java.lang.invoke.MethodType varargsType
        end local 5 // java.lang.invoke.LambdaForm form
        end local 4 // java.lang.invoke.MethodType type
        end local 3 // java.util.List argTypes
        end local 2 // java.lang.Class rtype
        end local 1 // java.lang.invoke.MethodHandle cleanup
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0       target  Ljava/lang/invoke/MethodHandle;
            0   14     1      cleanup  Ljava/lang/invoke/MethodHandle;
            0   14     2        rtype  Ljava/lang/Class<*>;
            0   14     3     argTypes  Ljava/util/List<Ljava/lang/Class<*>;>;
            1   14     4         type  Ljava/lang/invoke/MethodType;
            2   14     5         form  Ljava/lang/invoke/LambdaForm;
            3   14     6  varargsType  Ljava/lang/invoke/MethodType;
            4   14     7  collectArgs  Ljava/lang/invoke/MethodHandle;
            5   14     8  unboxResult  Ljava/lang/invoke/MethodHandle;
            6   14     9         data  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            9   10    10           mh  Ljava/lang/invoke/BoundMethodHandle;
           12   14    10           mh  Ljava/lang/invoke/BoundMethodHandle;
           11   12    11           ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           6     9      10  Class java.lang.Throwable
    Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;Ljava/util/List<Ljava/lang/Class<*>;>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
          Name  Flags
      target    
      cleanup   
      rtype     
      argTypes  

  private static java.lang.invoke.LambdaForm makeTryFinallyForm(java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=20, args_size=1
        start local 0 // java.lang.invoke.MethodType basicType
         0: .line 2172
            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 2174
            aload 0 /* basicType */
            invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
            bipush 18
            invokevirtual java.lang.invoke.MethodTypeForm.cachedLambdaForm:(I)Ljava/lang/invoke/LambdaForm;
            astore 2 /* lform */
        start local 2 // java.lang.invoke.LambdaForm lform
         2: .line 2175
            aload 2 /* lform */
            ifnull 4
         3: .line 2176
            aload 2 /* lform */
            areturn
         4: .line 2180
      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 2182
            iload 3 /* ARG_LIMIT */
            istore 4 /* nameCursor */
        start local 4 // int nameCursor
         6: .line 2183
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 5 /* GET_TARGET */
        start local 5 // int GET_TARGET
         7: .line 2184
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 6 /* GET_CLEANUP */
        start local 6 // int GET_CLEANUP
         8: .line 2185
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 7 /* GET_COLLECT_ARGS */
        start local 7 // int GET_COLLECT_ARGS
         9: .line 2186
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 8 /* GET_UNBOX_RESULT */
        start local 8 // int GET_UNBOX_RESULT
        10: .line 2187
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 9 /* BOXED_ARGS */
        start local 9 // int BOXED_ARGS
        11: .line 2188
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 10 /* TRY_FINALLY */
        start local 10 // int TRY_FINALLY
        12: .line 2189
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 11 /* UNBOX_RESULT */
        start local 11 // int UNBOX_RESULT
        13: .line 2191
            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 12 /* names */
        start local 12 // java.lang.invoke.LambdaForm$Name[] names
        14: .line 2193
            invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            astore 13 /* data */
        start local 13 // java.lang.invoke.BoundMethodHandle$SpeciesData data
        15: .line 2194
            aload 12 /* names */
            iconst_0
            aload 12 /* names */
            iconst_0
            aaload
            aload 13 /* data */
            invokevirtual java.lang.invoke.LambdaForm$Name.withConstraint:(Ljava/lang/Object;)Ljava/lang/invoke/LambdaForm$Name;
            aastore
        16: .line 2195
            aload 12 /* names */
            iload 5 /* GET_TARGET */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 13 /* 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 12 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        17: .line 2196
            aload 12 /* names */
            iload 6 /* GET_CLEANUP */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 13 /* 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 12 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        18: .line 2197
            aload 12 /* names */
            iload 7 /* GET_COLLECT_ARGS */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 13 /* 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 12 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        19: .line 2198
            aload 12 /* names */
            iload 8 /* GET_UNBOX_RESULT */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 13 /* 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 12 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        20: .line 2201
            aload 0 /* basicType */
            ldc Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 14 /* collectArgsType */
        start local 14 // java.lang.invoke.MethodType collectArgsType
        21: .line 2202
            aload 14 /* collectArgsType */
            invokestatic java.lang.invoke.MethodHandles.basicInvoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 15 /* invokeBasic */
        start local 15 // java.lang.invoke.MethodHandle invokeBasic
        22: .line 2203
            aload 15 /* invokeBasic */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            anewarray java.lang.Object
            astore 16 /* args */
        start local 16 // java.lang.Object[] args
        23: .line 2204
            aload 16 /* args */
            iconst_0
            aload 12 /* names */
            iload 7 /* GET_COLLECT_ARGS */
            aaload
            aastore
        24: .line 2205
            aload 12 /* names */
            iconst_1
            aload 16 /* args */
            iconst_1
            iload 3 /* ARG_LIMIT */
            iconst_1
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        25: .line 2206
            aload 12 /* names */
            iload 9 /* BOXED_ARGS */
            new java.lang.invoke.LambdaForm$Name
            dup
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            aload 15 /* invokeBasic */
            getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.TRY_FINALLY:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
            aload 16 /* args */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        26: .line 2209
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 12 /* names */
            iload 5 /* GET_TARGET */
            aaload
            aastore
            dup
            iconst_1
            aload 12 /* names */
            iload 6 /* GET_CLEANUP */
            aaload
            aastore
            dup
            iconst_2
            aload 12 /* names */
            iload 9 /* BOXED_ARGS */
            aaload
            aastore
            astore 17 /* tfArgs */
        start local 17 // java.lang.Object[] tfArgs
        27: .line 2210
            aload 12 /* names */
            iload 10 /* TRY_FINALLY */
            new java.lang.invoke.LambdaForm$Name
            dup
            iconst_3
            invokestatic java.lang.invoke.MethodHandleImpl.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
            aload 17 /* tfArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        28: .line 2213
            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 18 /* invokeBasicUnbox */
        start local 18 // java.lang.invoke.MethodHandle invokeBasicUnbox
        29: .line 2214
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 12 /* names */
            iload 8 /* GET_UNBOX_RESULT */
            aaload
            aastore
            dup
            iconst_1
            aload 12 /* names */
            iload 10 /* TRY_FINALLY */
            aaload
            aastore
            astore 19 /* unboxArgs */
        start local 19 // java.lang.Object[] unboxArgs
        30: .line 2215
            aload 12 /* names */
            iload 11 /* UNBOX_RESULT */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 18 /* invokeBasicUnbox */
            aload 19 /* unboxArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            aastore
        31: .line 2217
            new java.lang.invoke.LambdaForm
            dup
            aload 1 /* lambdaType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            aload 12 /* names */
            getstatic java.lang.invoke.LambdaForm$Kind.TRY_FINALLY:Ljava/lang/invoke/LambdaForm$Kind;
            invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Kind;)V
            astore 2 /* lform */
        32: .line 2219
            aload 0 /* basicType */
            invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
            bipush 18
            aload 2 /* lform */
            invokevirtual java.lang.invoke.MethodTypeForm.setCachedLambdaForm:(ILjava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
            areturn
        end local 19 // java.lang.Object[] unboxArgs
        end local 18 // java.lang.invoke.MethodHandle invokeBasicUnbox
        end local 17 // java.lang.Object[] tfArgs
        end local 16 // java.lang.Object[] args
        end local 15 // java.lang.invoke.MethodHandle invokeBasic
        end local 14 // java.lang.invoke.MethodType collectArgsType
        end local 13 // java.lang.invoke.BoundMethodHandle$SpeciesData data
        end local 12 // java.lang.invoke.LambdaForm$Name[] names
        end local 11 // int UNBOX_RESULT
        end local 10 // int TRY_FINALLY
        end local 9 // int BOXED_ARGS
        end local 8 // int GET_UNBOX_RESULT
        end local 7 // int GET_COLLECT_ARGS
        end local 6 // int GET_CLEANUP
        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   33     0         basicType  Ljava/lang/invoke/MethodType;
            1   33     1        lambdaType  Ljava/lang/invoke/MethodType;
            2   33     2             lform  Ljava/lang/invoke/LambdaForm;
            5   33     3         ARG_LIMIT  I
            6   33     4        nameCursor  I
            7   33     5        GET_TARGET  I
            8   33     6       GET_CLEANUP  I
            9   33     7  GET_COLLECT_ARGS  I
           10   33     8  GET_UNBOX_RESULT  I
           11   33     9        BOXED_ARGS  I
           12   33    10       TRY_FINALLY  I
           13   33    11      UNBOX_RESULT  I
           14   33    12             names  [Ljava/lang/invoke/LambdaForm$Name;
           15   33    13              data  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
           21   33    14   collectArgsType  Ljava/lang/invoke/MethodType;
           22   33    15       invokeBasic  Ljava/lang/invoke/MethodHandle;
           23   33    16              args  [Ljava/lang/Object;
           27   33    17            tfArgs  [Ljava/lang/Object;
           29   33    18  invokeBasicUnbox  Ljava/lang/invoke/MethodHandle;
           30   33    19         unboxArgs  [Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      basicType  

  static java.lang.Object tryFinally(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.Object[]);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // java.lang.invoke.MethodHandle target
        start local 1 // java.lang.invoke.MethodHandle cleanup
        start local 2 // java.lang.Object[] av
         0: .line 2228
            aconst_null
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
         1: .line 2229
            aconst_null
            astore 4 /* r */
        start local 4 // java.lang.Object r
         2: .line 2231
            aload 0 /* target */
            aload 2 /* av */
            invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* r */
         3: .line 2232
            goto 13
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.Object[] java.lang.Throwable java.lang.Object
      StackMap stack: java.lang.Throwable
         4: astore 5 /* thrown */
        start local 5 // java.lang.Throwable thrown
         5: .line 2233
            aload 5 /* thrown */
            astore 3 /* t */
         6: .line 2234
            aload 3 /* t */
            athrow
        end local 5 // java.lang.Throwable thrown
         7: .line 2235
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
         8: .line 2236
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 9
            aload 2 /* av */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* t */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.prepend:([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
            goto 10
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.Object[] java.lang.Throwable java.lang.Object top java.lang.Throwable
      StackMap stack:
         9: aload 2 /* av */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* t */
            aastore
            dup
            iconst_1
            aload 4 /* r */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.prepend:([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object[]
        10: astore 7 /* args */
        start local 7 // java.lang.Object[] args
        11: .line 2237
            aload 1 /* cleanup */
            aload 7 /* args */
            invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* r */
        end local 7 // java.lang.Object[] args
        12: .line 2238
            aload 6
            athrow
        13: .line 2236
      StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.Object[] java.lang.Throwable java.lang.Object
      StackMap stack:
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 14
            aload 2 /* av */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* t */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.prepend:([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 2 /* av */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* t */
            aastore
            dup
            iconst_1
            aload 4 /* r */
            aastore
            invokestatic java.lang.invoke.MethodHandleImpl.prepend:([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object[]
        15: astore 7 /* args */
        start local 7 // java.lang.Object[] args
        16: .line 2237
            aload 1 /* cleanup */
            aload 7 /* args */
            invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* r */
        end local 7 // java.lang.Object[] args
        17: .line 2239
            aload 4 /* r */
            areturn
        end local 4 // java.lang.Object r
        end local 3 // java.lang.Throwable t
        end local 2 // java.lang.Object[] av
        end local 1 // java.lang.invoke.MethodHandle cleanup
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0   target  Ljava/lang/invoke/MethodHandle;
            0   18     1  cleanup  Ljava/lang/invoke/MethodHandle;
            0   18     2       av  [Ljava/lang/Object;
            1   18     3        t  Ljava/lang/Throwable;
            2   18     4        r  Ljava/lang/Object;
            5    7     5   thrown  Ljava/lang/Throwable;
           11   12     7     args  [Ljava/lang/Object;
           16   17     7     args  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
           2     7       7  any
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      java.lang.invoke.LambdaForm$Hidden()
    MethodParameters:
         Name  Flags
      target   
      cleanup  
      av       

  static java.lang.invoke.MethodHandle getConstantHandle(int);
    descriptor: (I)Ljava/lang/invoke/MethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // int idx
         0: .line 2259
            getstatic java.lang.invoke.MethodHandleImpl.HANDLES:[Ljava/lang/invoke/MethodHandle;
            iload 0 /* idx */
            aaload
            astore 1 /* handle */
        start local 1 // java.lang.invoke.MethodHandle handle
         1: .line 2260
            aload 1 /* handle */
            ifnull 3
         2: .line 2261
            aload 1 /* handle */
            areturn
         3: .line 2263
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            iload 0 /* idx */
            iload 0 /* idx */
            invokestatic java.lang.invoke.MethodHandleImpl.makeConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
            invokestatic java.lang.invoke.MethodHandleImpl.setCachedHandle:(ILjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.invoke.MethodHandle handle
        end local 0 // int idx
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0     idx  I
            1    4     1  handle  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      idx   

  private static synchronized java.lang.invoke.MethodHandle setCachedHandle(int, java.lang.invoke.MethodHandle);
    descriptor: (ILjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // int idx
        start local 1 // java.lang.invoke.MethodHandle method
         0: .line 2268
            getstatic java.lang.invoke.MethodHandleImpl.HANDLES:[Ljava/lang/invoke/MethodHandle;
            iload 0 /* idx */
            aaload
            astore 2 /* prev */
        start local 2 // java.lang.invoke.MethodHandle prev
         1: .line 2269
            aload 2 /* prev */
            ifnull 3
         2: .line 2270
            aload 2 /* prev */
            areturn
         3: .line 2272
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.HANDLES:[Ljava/lang/invoke/MethodHandle;
            iload 0 /* idx */
            aload 1 /* method */
            aastore
         4: .line 2273
            aload 1 /* method */
            areturn
        end local 2 // java.lang.invoke.MethodHandle prev
        end local 1 // java.lang.invoke.MethodHandle method
        end local 0 // int idx
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0     idx  I
            0    5     1  method  Ljava/lang/invoke/MethodHandle;
            1    5     2    prev  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      idx     
      method  final

  private static java.lang.invoke.MethodHandle makeConstantHandle(int);
    descriptor: (I)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=2, args_size=1
        start local 0 // int idx
         0: .line 2281
            iload 0 /* idx */
            tableswitch { // 0 - 11
                    0: 1
                    1: 21
                    2: 5
                    3: 17
                    4: 13
                    5: 9
                    6: 25
                    7: 29
                    8: 33
                    9: 37
                   10: 41
                   11: 45
              default: 49
          }
         1: .line 2283
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljava/lang/Class;
            ldc "cast"
         2: .line 2284
            ldc Ljava/lang/Object;
            ldc Ljava/lang/Object;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
         3: .line 2283
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
         4: areturn
         5: .line 2286
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljava/lang/invoke/MethodHandleImpl;
            ldc "copyAsPrimitiveArray"
         6: .line 2287
            ldc Ljava/lang/Object;
            ldc Lsun/invoke/util/Wrapper;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc [Ljava/lang/Object;
            aastore
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
         7: .line 2286
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
         8: areturn
         9: .line 2289
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljava/lang/invoke/MethodHandleImpl;
            ldc "identity"
        10: .line 2290
            ldc [Ljava/lang/Object;
            ldc [Ljava/lang/Object;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        11: .line 2289
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        12: areturn
        13: .line 2292
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljava/lang/invoke/MethodHandleImpl;
            ldc "fillNewArray"
        14: .line 2293
            ldc [Ljava/lang/Object;
            ldc Ljava/lang/Integer;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc [Ljava/lang/Object;
            aastore
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        15: .line 2292
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        16: areturn
        17: .line 2295
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljava/lang/invoke/MethodHandleImpl;
            ldc "fillNewTypedArray"
        18: .line 2296
            ldc [Ljava/lang/Object;
            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.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        19: .line 2295
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        20: areturn
        21: .line 2298
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljava/lang/invoke/MethodHandleImpl;
            ldc "selectAlternative"
        22: .line 2299
            ldc Ljava/lang/invoke/MethodHandle;
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        23: .line 2298
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        24: areturn
        25: .line 2301
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljava/lang/invoke/MethodHandleImpl;
            ldc "countedLoopPredicate"
        26: .line 2302
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        27: .line 2301
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        28: areturn
        29: .line 2304
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljava/lang/invoke/MethodHandleImpl;
            ldc "countedLoopStep"
        30: .line 2305
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        31: .line 2304
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        32: areturn
        33: .line 2307
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljava/lang/invoke/MethodHandleImpl;
            ldc "initIterator"
        34: .line 2308
            ldc Ljava/util/Iterator;
            ldc Ljava/lang/Iterable;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        35: .line 2307
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        36: areturn
        37: .line 2310
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljava/lang/invoke/MethodHandleImpl;
            ldc "iteratePredicate"
        38: .line 2311
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            ldc Ljava/util/Iterator;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        39: .line 2310
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        40: areturn
        41: .line 2313
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljava/lang/invoke/MethodHandleImpl;
            ldc "iterateNext"
        42: .line 2314
            ldc Ljava/lang/Object;
            ldc Ljava/util/Iterator;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        43: .line 2313
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        44: areturn
        45: .line 2316
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljava/lang/reflect/Array;
            ldc "newInstance"
        46: .line 2317
            ldc Ljava/lang/Object;
            ldc Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        47: .line 2316
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        48: areturn
        49: .line 2319
      StackMap locals:
      StackMap stack:
            goto 52
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
        50: astore 1 /* ex */
        start local 1 // java.lang.ReflectiveOperationException ex
        51: .line 2320
            aload 1 /* ex */
            invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
            athrow
        end local 1 // java.lang.ReflectiveOperationException ex
        52: .line 2322
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Unknown function index: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* idx */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;)Ljava/lang/InternalError;
            athrow
        end local 0 // int idx
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   53     0   idx  I
           51   52     1    ex  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     4      50  Class java.lang.ReflectiveOperationException
           5     8      50  Class java.lang.ReflectiveOperationException
           9    12      50  Class java.lang.ReflectiveOperationException
          13    16      50  Class java.lang.ReflectiveOperationException
          17    20      50  Class java.lang.ReflectiveOperationException
          21    24      50  Class java.lang.ReflectiveOperationException
          25    28      50  Class java.lang.ReflectiveOperationException
          29    32      50  Class java.lang.ReflectiveOperationException
          33    36      50  Class java.lang.ReflectiveOperationException
          37    40      50  Class java.lang.ReflectiveOperationException
          41    44      50  Class java.lang.ReflectiveOperationException
          45    48      50  Class java.lang.ReflectiveOperationException
    MethodParameters:
      Name  Flags
      idx   

  private static java.lang.Class lambda$0(java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MethodHandle;)Ljava/lang/Class;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.MethodHandle h
         0: .line 1883
            aload 0 /* h */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            areturn
        end local 0 // java.lang.invoke.MethodHandle h
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     h  Ljava/lang/invoke/MethodHandle;

  private static java.lang.invoke.LambdaForm$BasicType[] lambda$2(int);
    descriptor: (I)[Ljava/lang/invoke/LambdaForm$BasicType;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            iload 0
            anewarray java.lang.invoke.LambdaForm$BasicType
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean lambda$3(java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MethodHandle;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.invoke.MethodHandle h
         0: .line 2027
            aload 0 /* h */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.lang.invoke.MethodHandle h
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     h  Ljava/lang/invoke/MethodHandle;
}
SourceFile: "MethodHandleImpl.java"
NestMembers:
  java.lang.invoke.MethodHandleImpl$1  java.lang.invoke.MethodHandleImpl$ArrayAccess  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$CountingWrapper  java.lang.invoke.MethodHandleImpl$Intrinsic  java.lang.invoke.MethodHandleImpl$IntrinsicMethodHandle  java.lang.invoke.MethodHandleImpl$LoopClauses  java.lang.invoke.MethodHandleImpl$Makers  java.lang.invoke.MethodHandleImpl$Makers$1  java.lang.invoke.MethodHandleImpl$Makers$2  java.lang.invoke.MethodHandleImpl$Makers$3  java.lang.invoke.MethodHandleImpl$WrappedMember
InnerClasses:
  final 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 Kind = java.lang.invoke.LambdaForm$Kind 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
  java.lang.invoke.MethodHandleImpl$1
  final ArrayAccess = java.lang.invoke.MethodHandleImpl$ArrayAccess of java.lang.invoke.MethodHandleImpl
  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
  final IntrinsicMethodHandle = java.lang.invoke.MethodHandleImpl$IntrinsicMethodHandle of java.lang.invoke.MethodHandleImpl
  LoopClauses = java.lang.invoke.MethodHandleImpl$LoopClauses of java.lang.invoke.MethodHandleImpl
  private final Makers = java.lang.invoke.MethodHandleImpl$Makers 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