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 61
            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 1094
            iconst_2
            anewarray java.lang.invoke.MethodHandle
            putstatic java.lang.invoke.MethodHandleImpl.FAKE_METHOD_HANDLE_INVOKE:[Ljava/lang/invoke/MethodHandle;
         4: .line 1417
            iconst_0
            anewarray java.lang.Object
            putstatic java.lang.invoke.MethodHandleImpl.NO_ARGS_ARRAY:[Ljava/lang/Object;
         5: .line 1450
            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 1499
            bipush 11
            anewarray java.lang.invoke.MethodHandle
            putstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAYS:[Ljava/lang/invoke/MethodHandle;
         7: .line 1571
            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 1687
            bipush 6
            anewarray java.lang.invoke.LambdaForm$NamedFunction
            putstatic java.lang.invoke.MethodHandleImpl.NFS:[Ljava/lang/invoke/LambdaForm$NamedFunction;
         9: .line 1728
            new java.lang.invoke.MethodHandleImpl$1
            dup
            invokespecial java.lang.invoke.MethodHandleImpl$1.<init>:()V
            invokestatic jdk.internal.access.SharedSecrets.setJavaLangInvokeAccess:(Ljdk/internal/access/JavaLangInvokeAccess;)V
        10: .line 2228
            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 61
            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 66
            aload 0 /* arrayClass */
            ldc [Ljava/lang/Object;
            if_acmpne 2
         1: .line 67
            aload 1 /* access */
            invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccess.objectAccessor:(Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/invoke/MethodHandle;
            areturn
         2: .line 69
      StackMap locals:
      StackMap stack:
            aload 0 /* arrayClass */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 4
         3: .line 70
            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 71
      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 72
            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 73
            aload 2 /* cache */
            iload 3 /* cacheIndex */
            aaload
            astore 4 /* mh */
        start local 4 // java.lang.invoke.MethodHandle mh
         7: .line 74
            aload 4 /* mh */
            ifnull 8
            aload 4 /* mh */
            areturn
         8: .line 75
      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 76
            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 77
            aload 4 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 5 /* correctType */
            if_acmpeq 18
        11: .line 78
            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 79
      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 80
      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 81
            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 82
            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 84
      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 86
      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 88
            aload 2 /* cache */
            dup
            astore 6
            monitorenter
        20: .line 89
            aload 2 /* cache */
            iload 3 /* cacheIndex */
            aaload
            ifnonnull 23
        21: .line 90
            aload 2 /* cache */
            iload 3 /* cacheIndex */
            aload 4 /* mh */
            aastore
        22: .line 91
            goto 24
        23: .line 93
      StackMap locals: java.lang.invoke.MethodHandle[]
      StackMap stack:
            aload 2 /* cache */
            iload 3 /* cacheIndex */
            aaload
            astore 4 /* mh */
        24: .line 88
      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 96
      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 143
            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 253
            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 254
            aload 1 /* srcType */
            aload 4 /* dstType */
            if_acmpne 3
         2: .line 255
            aload 0 /* target */
            areturn
         3: .line 256
      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 260
            iconst_0
            istore 1 /* count */
        start local 1 // int count
         1: .line 261
            aload 0 /* array */
            ifnull 7
         2: .line 262
            aload 0 /* array */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: java.lang.Object[] int top int int java.lang.Object[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* x */
        start local 2 // java.lang.Object x
         4: .line 263
            aload 2 /* x */
            ifnull 5
            iinc 1 /* count */ 1
        end local 2 // java.lang.Object x
         5: .line 262
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 3
         7: .line 266
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            iload 1 /* count */
            ireturn
        end local 1 // int count
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0  array  [Ljava/lang/Object;
            1    8     1  count  I
            4    5     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=5, 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 274
            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 275
            aload 4 /* convSpecs */
            invokestatic java.lang.invoke.MethodHandleImpl.countNonNull:([Ljava/lang/Object;)I
            istore 5 /* convCount */
        start local 5 // int convCount
         2: .line 276
            iload 5 /* convCount */
            ifne 4
         3: .line 277
            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 278
      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 279
            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 280
            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 283
            new java.util.HashMap
            dup
            iconst_4
            iload 5 /* convCount */
            imul
            iconst_3
            idiv
            iconst_1
            iadd
            invokespecial java.util.HashMap.<init>:(I)V
            astore 9 /* convSpecMap */
        start local 9 // java.util.HashMap convSpecMap
         8: .line 284
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         9: goto 20
        10: .line 285
      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.util.HashMap int
      StackMap stack:
            aload 4 /* convSpecs */
            iload 10 /* i */
            aaload
            astore 11 /* convSpec */
        start local 11 // java.lang.Object convSpec
        11: .line 286
            aload 11 /* convSpec */
            ifnonnull 12
            goto 19
        12: .line 287
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 9 /* convSpecMap */
            aload 11 /* convSpec */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast int[]
            astore 12 /* positions */
        start local 12 // int[] positions
        13: .line 288
            aload 12 /* positions */
            ifnonnull 16
        14: .line 289
            iconst_1
            newarray 10
            dup
            iconst_0
            iload 10 /* i */
            iconst_1
            iadd
            iastore
            astore 12 /* positions */
        15: .line 290
            goto 18
        16: .line 291
      StackMap locals: int[]
      StackMap stack:
            aload 12 /* positions */
            aload 12 /* positions */
            arraylength
            iconst_1
            iadd
            invokestatic java.util.Arrays.copyOf:([II)[I
            astore 12 /* positions */
        17: .line 292
            aload 12 /* positions */
            aload 12 /* positions */
            arraylength
            iconst_1
            isub
            iload 10 /* i */
            iconst_1
            iadd
            iastore
        18: .line 294
      StackMap locals:
      StackMap stack:
            aload 9 /* convSpecMap */
            aload 11 /* convSpec */
            aload 12 /* positions */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 12 // int[] positions
        end local 11 // java.lang.Object convSpec
        19: .line 284
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 10 /* i */
            aload 4 /* convSpecs */
            arraylength
            iconst_1
            isub
            if_icmplt 10
        end local 10 // int i
        21: .line 296
            aload 9 /* convSpecMap */
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 11
            goto 47
      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.util.HashMap top java.util.Iterator
      StackMap stack:
        22: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 10 /* entry */
        start local 10 // java.util.Map$Entry entry
        23: .line 297
            aload 10 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            astore 12 /* convSpec */
        start local 12 // java.lang.Object convSpec
        24: .line 300
            aload 12 /* convSpec */
            instanceof java.lang.Class
            ifeq 27
        25: .line 301
            iconst_0
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
            aload 12 /* convSpec */
            invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 13 /* fn */
        start local 13 // java.lang.invoke.MethodHandle fn
        26: .line 302
            goto 28
        end local 13 // java.lang.invoke.MethodHandle fn
        27: .line 303
      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.util.HashMap java.util.Map$Entry java.util.Iterator java.lang.Object
      StackMap stack:
            aload 12 /* convSpec */
            checkcast java.lang.invoke.MethodHandle
            astore 13 /* fn */
        start local 13 // java.lang.invoke.MethodHandle fn
        28: .line 305
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 10 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast int[]
            astore 14 /* positions */
        start local 14 // int[] positions
        29: .line 306
            aload 6 /* basicSrcType */
            aload 14 /* positions */
            iconst_0
            iaload
            iconst_1
            isub
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            astore 15 /* newType */
        start local 15 // java.lang.Class newType
        30: .line 307
            aload 15 /* newType */
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
            astore 16 /* newBasicType */
        start local 16 // java.lang.invoke.LambdaForm$BasicType newBasicType
        31: .line 308
            iload 5 /* convCount */
            aload 14 /* positions */
            arraylength
            isub
            istore 5 /* convCount */
        32: .line 309
            iload 5 /* convCount */
            ifne 35
        33: .line 310
            aload 1 /* srcType */
            astore 7 /* midType */
        34: .line 311
            goto 42
        35: .line 312
      StackMap locals: int[] java.lang.Class java.lang.invoke.LambdaForm$BasicType
      StackMap stack:
            aload 7 /* midType */
            invokevirtual java.lang.invoke.MethodType.ptypes:()[Ljava/lang/Class;
            invokevirtual java.lang.Class[].clone:()Ljava/lang/Object;
            checkcast java.lang.Class[]
            astore 17 /* ptypes */
        start local 17 // java.lang.Class[] ptypes
        36: .line 313
            aload 14 /* positions */
            dup
            astore 21
            arraylength
            istore 20
            iconst_0
            istore 19
            goto 40
      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.util.HashMap java.util.Map$Entry java.util.Iterator java.lang.Object java.lang.invoke.MethodHandle int[] java.lang.Class java.lang.invoke.LambdaForm$BasicType java.lang.Class[] top int int int[]
      StackMap stack:
        37: aload 21
            iload 19
            iaload
            istore 18 /* pos */
        start local 18 // int pos
        38: .line 314
            aload 17 /* ptypes */
            iload 18 /* pos */
            iconst_1
            isub
            aload 15 /* newType */
            aastore
        end local 18 // int pos
        39: .line 313
            iinc 19 1
      StackMap locals:
      StackMap stack:
        40: iload 19
            iload 20
            if_icmplt 37
        41: .line 316
            aload 7 /* midType */
            invokevirtual java.lang.invoke.MethodType.rtype:()Ljava/lang/Class;
            aload 17 /* ptypes */
            iconst_1
            invokestatic java.lang.invoke.MethodType.makeImpl:(Ljava/lang/Class;[Ljava/lang/Class;Z)Ljava/lang/invoke/MethodType;
            astore 7 /* midType */
        end local 17 // java.lang.Class[] ptypes
        42: .line 319
      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.util.HashMap java.util.Map$Entry java.util.Iterator java.lang.Object java.lang.invoke.MethodHandle int[] java.lang.Class java.lang.invoke.LambdaForm$BasicType
      StackMap stack:
            aload 14 /* positions */
            arraylength
            iconst_1
            if_icmple 45
        43: .line 320
            aload 8 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
            aload 16 /* newBasicType */
            aload 14 /* positions */
            invokevirtual java.lang.invoke.LambdaFormEditor.filterRepeatedArgumentForm:(Ljava/lang/invoke/LambdaForm$BasicType;[I)Ljava/lang/invoke/LambdaForm;
            astore 17 /* form2 */
        start local 17 // java.lang.invoke.LambdaForm form2
        44: .line 321
            goto 46
        end local 17 // java.lang.invoke.LambdaForm form2
        45: .line 322
      StackMap locals:
      StackMap stack:
            aload 8 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
            aload 14 /* positions */
            iconst_0
            iaload
            aload 16 /* newBasicType */
            invokevirtual java.lang.invoke.LambdaFormEditor.filterArgumentForm:(ILjava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm;
            astore 17 /* form2 */
        start local 17 // java.lang.invoke.LambdaForm form2
        46: .line 324
      StackMap locals: java.lang.invoke.LambdaForm
      StackMap stack:
            aload 8 /* mh */
            aload 7 /* midType */
            aload 17 /* form2 */
            aload 13 /* 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 17 // java.lang.invoke.LambdaForm form2
        end local 16 // java.lang.invoke.LambdaForm$BasicType newBasicType
        end local 15 // java.lang.Class newType
        end local 14 // int[] positions
        end local 13 // java.lang.invoke.MethodHandle fn
        end local 12 // java.lang.Object convSpec
        end local 10 // java.util.Map$Entry entry
        47: .line 296
      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.util.HashMap top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        48: .line 326
            aload 4 /* convSpecs */
            aload 4 /* convSpecs */
            arraylength
            iconst_1
            isub
            aaload
            astore 10 /* convSpec */
        start local 10 // java.lang.Object convSpec
        49: .line 327
            aload 10 /* convSpec */
            ifnull 67
        50: .line 329
            aload 10 /* convSpec */
            instanceof java.lang.Class
            ifeq 56
        51: .line 330
            aload 10 /* convSpec */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 54
        52: .line 331
            aconst_null
            astore 11 /* fn */
        start local 11 // java.lang.invoke.MethodHandle fn
        53: goto 57
        end local 11 // java.lang.invoke.MethodHandle fn
        54: .line 333
      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.util.HashMap java.lang.Object
      StackMap stack:
            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
        55: .line 334
            goto 57
        end local 11 // java.lang.invoke.MethodHandle fn
        56: .line 335
      StackMap locals:
      StackMap stack:
            aload 10 /* convSpec */
            checkcast java.lang.invoke.MethodHandle
            astore 11 /* fn */
        start local 11 // java.lang.invoke.MethodHandle fn
        57: .line 337
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 6 /* basicSrcType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            astore 12 /* newType */
        start local 12 // java.lang.Class newType
        58: .line 338
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 59
            iinc 5 /* convCount */ -1
            iload 5 /* convCount */
            ifeq 59
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        59: .line 339
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* srcType */
            astore 7 /* midType */
        60: .line 340
            aload 11 /* fn */
            ifnull 65
        61: .line 341
            aload 8 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.rebind:()Ljava/lang/invoke/BoundMethodHandle;
            astore 8 /* mh */
        62: .line 342
            aload 8 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
            aload 12 /* 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 13 /* form2 */
        start local 13 // java.lang.invoke.LambdaForm form2
        63: .line 343
            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 */
        end local 13 // java.lang.invoke.LambdaForm form2
        64: .line 344
            goto 67
        65: .line 345
      StackMap locals:
      StackMap stack:
            aload 8 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
            aload 12 /* 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 13 /* form2 */
        start local 13 // java.lang.invoke.LambdaForm form2
        66: .line 346
            aload 8 /* mh */
            aload 7 /* midType */
            aload 13 /* form2 */
            invokevirtual java.lang.invoke.BoundMethodHandle.copyWith:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)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
        67: .line 349
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 68
            iload 5 /* convCount */
            ifeq 68
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        68: .line 350
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
            ifne 69
            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 69
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        69: .line 351
      StackMap locals:
      StackMap stack:
            aload 8 /* mh */
            areturn
        end local 10 // java.lang.Object convSpec
        end local 9 // java.util.HashMap convSpecMap
        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   70     0        target  Ljava/lang/invoke/MethodHandle;
            0   70     1       srcType  Ljava/lang/invoke/MethodType;
            0   70     2        strict  Z
            0   70     3       monobox  Z
            1   70     4     convSpecs  [Ljava/lang/Object;
            2   70     5     convCount  I
            5   70     6  basicSrcType  Ljava/lang/invoke/MethodType;
            6   70     7       midType  Ljava/lang/invoke/MethodType;
            7   70     8            mh  Ljava/lang/invoke/BoundMethodHandle;
            8   70     9   convSpecMap  Ljava/util/HashMap<Ljava/lang/Object;[I>;
            9   21    10             i  I
           11   19    11      convSpec  Ljava/lang/Object;
           13   19    12     positions  [I
           23   47    10         entry  Ljava/util/Map$Entry<Ljava/lang/Object;[I>;
           24   47    12      convSpec  Ljava/lang/Object;
           26   27    13            fn  Ljava/lang/invoke/MethodHandle;
           28   47    13            fn  Ljava/lang/invoke/MethodHandle;
           29   47    14     positions  [I
           30   47    15       newType  Ljava/lang/Class<*>;
           31   47    16  newBasicType  Ljava/lang/invoke/LambdaForm$BasicType;
           36   42    17        ptypes  [Ljava/lang/Class;
           38   39    18           pos  I
           44   45    17         form2  Ljava/lang/invoke/LambdaForm;
           46   47    17         form2  Ljava/lang/invoke/LambdaForm;
           49   70    10      convSpec  Ljava/lang/Object;
           53   54    11            fn  Ljava/lang/invoke/MethodHandle;
           55   56    11            fn  Ljava/lang/invoke/MethodHandle;
           57   67    11            fn  Ljava/lang/invoke/MethodHandle;
           58   67    12       newType  Ljava/lang/Class<*>;
           63   64    13         form2  Ljava/lang/invoke/LambdaForm;
           66   67    13         form2  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 356
            aload 0 /* srcType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 4 /* INARG_COUNT */
        start local 4 // int INARG_COUNT
         1: .line 357
            aconst_null
            astore 5 /* convSpecs */
        start local 5 // java.lang.Object[] convSpecs
         2: .line 358
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 18
         4: .line 359
      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 360
            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 361
            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 362
            aload 8 /* src */
            aload 9 /* dst */
            iload 2 /* strict */
            invokestatic sun.invoke.util.VerifyType.isNullConversion:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
            ifne 17
        14: .line 363
            aload 5 /* convSpecs */
            ifnonnull 16
        15: .line 364
            iload 4 /* INARG_COUNT */
            iconst_1
            iadd
            anewarray java.lang.Object
            astore 5 /* convSpecs */
        16: .line 366
      StackMap locals: java.lang.Class
      StackMap stack:
            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
        17: .line 358
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            iload 4 /* INARG_COUNT */
            if_icmple 4
        end local 6 // int i
        19: .line 369
            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   20     0      srcType  Ljava/lang/invoke/MethodType;
            0   20     1      dstType  Ljava/lang/invoke/MethodType;
            0   20     2       strict  Z
            0   20     3      monobox  Z
            1   20     4  INARG_COUNT  I
            2   20     5    convSpecs  [Ljava/lang/Object;
            3   19     6            i  I
            7   17     7        isRet  Z
           10   17     8          src  Ljava/lang/Class<*>;
           13   17     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 373
            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 383
            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 384
      StackMap locals:
      StackMap stack:
            aload 1 /* dst */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 3
         2: .line 385
            aload 1 /* dst */
            areturn
         3: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 19
         4: .line 388
            aload 0 /* src */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 6
         5: .line 389
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            areturn
         6: .line 390
      StackMap locals:
      StackMap stack:
            aload 1 /* dst */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 9
         7: .line 392
            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 393
            goto 30
        end local 4 // java.lang.invoke.MethodHandle fn
         9: .line 395
      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 396
            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 397
            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 398
      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 399
      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 401
            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 402
            iload 2 /* strict */
            ifeq 17
        16: .line 403
            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 405
      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 408
            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 409
            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 410
            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 412
      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 413
            goto 30
        end local 4 // java.lang.invoke.MethodHandle fn
        24: .line 417
      StackMap locals:
      StackMap stack:
            iload 2 /* strict */
            ifeq 26
        25: .line 418
            aload 5 /* wdst */
            invokestatic sun.invoke.util.ValueConversions.unboxWiden:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
            goto 27
        26: .line 419
      StackMap locals:
      StackMap stack:
            aload 5 /* wdst */
            invokestatic sun.invoke.util.ValueConversions.unboxCast:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
        27: .line 417
      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 421
            goto 30
        end local 4 // java.lang.invoke.MethodHandle fn
        29: .line 426
      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 428
      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.constant.Constable
            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 429
      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 433
            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 434
            aload 2 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iconst_1
            isub
            istore 3 /* last */
        start local 3 // int last
         2: .line 435
            aload 2 /* type */
            iload 3 /* last */
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aload 1 /* arrayType */
            if_acmpeq 4
         3: .line 436
            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 437
      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 438
            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 568
            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 570
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 7
         3: .line 571
      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 572
            aload 6 /* arg */
            ifnonnull 5
            ldc Ljava/lang/Object;
            astore 6 /* arg */
         5: .line 573
      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 570
            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 575
            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 577
            aload 4 /* targetType */
        10: .line 578
            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 577
            astore 5 /* srcType */
        start local 5 // java.lang.invoke.MethodType srcType
        12: .line 580
            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 581
            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 582
            aload 6 /* lambdaType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 8 /* nameCursor */
        start local 8 // int nameCursor
        15: .line 583
            aload 4 /* targetType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            newarray 10
            astore 9 /* indexes */
        start local 9 // int[] indexes
        16: .line 585
            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 586
      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 587
            iload 10 /* i */
            iload 2 /* spreadArgPos */
            if_icmpne 31
        21: .line 589
            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 590
            aload 7 /* names */
            iload 11 /* argIndex */
            aaload
            astore 13 /* array */
        start local 13 // java.lang.invoke.LambdaForm$Name array
        23: .line 591
            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 592
            iconst_0
            istore 14 /* j */
        start local 14 // int j
        25: goto 29
        26: .line 593
      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 594
            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 592
            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 596
            goto 33
      StackMap locals:
      StackMap stack:
        31: iload 10 /* i */
            aload 9 /* indexes */
            arraylength
            if_icmpge 33
        32: .line 597
            aload 9 /* indexes */
            iload 10 /* i */
            iload 11 /* argIndex */
            iastore
        33: .line 585
      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 600
            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 603
      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 604
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        38: goto 42
        39: .line 605
      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 606
            aload 10 /* targetArgs */
            iload 11 /* i */
            aload 7 /* names */
            iload 12 /* idx */
            aaload
            aastore
        end local 12 // int idx
        41: .line 604
            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 608
            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 610
            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 611
            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 615
            aload 0 /* av */
            ifnonnull 2
            iload 1 /* n */
            ifne 2
         1: .line 616
            return
         2: .line 617
      StackMap locals:
      StackMap stack:
            aload 0 /* av */
            ifnonnull 4
         3: .line 618
            new java.lang.NullPointerException
            dup
            ldc "null array reference"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 619
      StackMap locals:
      StackMap stack:
            aload 0 /* av */
            instanceof java.lang.Object[]
            ifeq 7
         5: .line 620
            aload 0 /* av */
            checkcast java.lang.Object[]
            arraylength
            istore 2 /* len */
        start local 2 // int len
         6: .line 621
            iload 2 /* len */
            iload 1 /* n */
            if_icmpne 9
            return
        end local 2 // int len
         7: .line 623
      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 624
            iload 2 /* len */
            iload 1 /* n */
            if_icmpne 9
            return
        end local 2 // int len
         9: .line 627
      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 633
            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 634
            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 635
            aload 5 /* collectorType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 6 /* collectArgCount */
        start local 6 // int collectArgCount
         3: .line 636
            aload 5 /* collectorType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            astore 7 /* collectValType */
        start local 7 // java.lang.Class collectValType
         4: .line 637
            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 638
            aload 4 /* targetType */
         8: .line 639
            iload 2 /* collectArgPos */
            iload 2 /* collectArgPos */
            iload 8 /* collectValCount */
            iadd
            invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
         9: .line 638
            astore 9 /* srcType */
        start local 9 // java.lang.invoke.MethodType srcType
        10: .line 640
            iload 3 /* retainOriginalArgs */
            ifne 12
        11: .line 641
            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 648
      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 649
            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 650
            aload 11 /* names */
            arraylength
            iconst_2
            isub
            istore 12 /* collectNamePos */
        start local 12 // int collectNamePos
        15: .line 651
            aload 11 /* names */
            arraylength
            iconst_1
            isub
            istore 13 /* targetNamePos */
        start local 13 // int targetNamePos
        16: .line 653
            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 654
            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 659
            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 660
            iconst_1
            istore 16 /* inputArgPos */
        start local 16 // int inputArgPos
        20: .line 661
            iconst_0
            istore 17 /* targetArgPos */
        start local 17 // int targetArgPos
        21: .line 662
            iload 2 /* collectArgPos */
            istore 18 /* chunk */
        start local 18 // int chunk
        22: .line 663
            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 664
            iload 16 /* inputArgPos */
            iload 18 /* chunk */
            iadd
            istore 16 /* inputArgPos */
        24: .line 665
            iload 17 /* targetArgPos */
            iload 18 /* chunk */
            iadd
            istore 17 /* targetArgPos */
        25: .line 666
            aload 7 /* collectValType */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpeq 27
        26: .line 667
            aload 15 /* targetArgs */
            iload 17 /* targetArgPos */
            iinc 17 /* targetArgPos */ 1
            aload 11 /* names */
            iload 12 /* collectNamePos */
            aaload
            aastore
        27: .line 669
      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 670
            iload 3 /* retainOriginalArgs */
            ifeq 31
        29: .line 671
            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 672
            iload 17 /* targetArgPos */
            iload 18 /* chunk */
            iadd
            istore 17 /* targetArgPos */
        31: .line 674
      StackMap locals:
      StackMap stack:
            iload 16 /* inputArgPos */
            iload 18 /* chunk */
            iadd
            istore 16 /* inputArgPos */
        32: .line 675
            aload 15 /* targetArgs */
            arraylength
            iload 17 /* targetArgPos */
            isub
            istore 18 /* chunk */
        33: .line 676
            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 677
            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 678
      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 680
            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 681
            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 687
            iload 0 /* testResult */
            ifeq 2
         1: .line 688
            aload 1 /* target */
            areturn
         2: .line 690
      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 700
            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 702
            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 703
            goto 7
      StackMap locals: int int[] int
      StackMap stack: java.lang.ArithmeticException
         5: pop
         6: .line 705
            aload 1 /* counters */
            iload 2 /* idx */
            aload 1 /* counters */
            iload 2 /* idx */
            iaload
            iconst_2
            idiv
            iastore
         7: .line 707
      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 715
            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 722
            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 723
            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 724
      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 725
            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 728
            getstatic java.lang.invoke.MethodHandleStatics.PROFILE_GWT:Z
            ifeq 12
         6: .line 729
            iconst_2
            newarray 10
            astore 7 /* counts */
        start local 7 // int[] counts
         7: .line 731
            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 732
            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 731
            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 730
            astore 6 /* mh */
        end local 7 // int[] counts
        start local 6 // java.lang.invoke.BoundMethodHandle mh
        11: .line 733
            goto 19
        end local 6 // java.lang.invoke.BoundMethodHandle mh
        12: .line 735
      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 736
            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 735
            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 734
            astore 6 /* mh */
        start local 6 // java.lang.invoke.BoundMethodHandle mh
        16: .line 738
            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 739
            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 741
      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 742
      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 748
            getstatic java.lang.invoke.MethodHandleStatics.DONT_INLINE_THRESHOLD:I
            iflt 2
         1: .line 749
            aload 0 /* target */
            invokestatic java.lang.invoke.MethodHandleImpl.makeBlockInliningWrapper:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            areturn
         2: .line 751
      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 762
            getstatic java.lang.invoke.MethodHandleStatics.DONT_INLINE_THRESHOLD:I
            ifle 3
         1: .line 763
            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 764
            goto 4
        end local 1 // java.lang.invoke.LambdaForm lform
         3: .line 765
      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 767
      StackMap locals: java.lang.invoke.LambdaForm
      StackMap stack:
            new java.lang.invoke.MethodHandleImpl$CountingWrapper
            dup
            aload 0 /* target */
            aload 1 /* lform */
         5: .line 768
            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 769
            getstatic java.lang.invoke.MethodHandleStatics.DONT_INLINE_THRESHOLD:I
         7: .line 767
            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 899
            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 900
            aload 1 /* lform */
            ifnull 2
            aload 1 /* lform */
            areturn
         2: .line 903
      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 904
            iload 2 /* ARG_LIMIT */
            istore 3 /* nameCursor */
        start local 3 // int nameCursor
         4: .line 905
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 4 /* GET_TEST */
        start local 4 // int GET_TEST
         5: .line 906
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 5 /* GET_TARGET */
        start local 5 // int GET_TARGET
         6: .line 907
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 6 /* GET_FALLBACK */
        start local 6 // int GET_FALLBACK
         7: .line 908
            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 909
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 8 /* CALL_TEST */
        start local 8 // int CALL_TEST
        11: .line 910
            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 911
            iload 3 /* nameCursor */
            iconst_1
            isub
            istore 10 /* TEST */
        start local 10 // int TEST
        15: .line 912
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 11 /* SELECT_ALT */
        start local 11 // int SELECT_ALT
        16: .line 913
            iload 3 /* nameCursor */
            iinc 3 /* nameCursor */ 1
            istore 12 /* CALL_TARGET */
        start local 12 // int CALL_TARGET
        17: .line 914
            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 916
      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 917
            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 920
            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 921
      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 919
      StackMap locals:
      StackMap stack: java.lang.invoke.BoundMethodHandle$SpeciesData
            astore 15 /* data */
        start local 15 // java.lang.invoke.BoundMethodHandle$SpeciesData data
        23: .line 922
            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 923
            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 924
            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 925
            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 926
            iload 7 /* GET_COUNTERS */
            iconst_m1
            if_icmpeq 29
        28: .line 927
            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 929
      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 932
            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 933
            aload 16 /* invokeArgs */
            iconst_0
            aload 14 /* names */
            iload 4 /* GET_TEST */
            aaload
            aastore
        32: .line 934
            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 937
            iload 9 /* PROFILE */
            iconst_m1
            if_icmpeq 35
        34: .line 938
            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 941
      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 944
            aload 16 /* invokeArgs */
            iconst_0
            aload 14 /* names */
            iload 11 /* SELECT_ALT */
            aaload
            aastore
        37: .line 945
            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 947
            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 949
            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 974
            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 976
            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 977
            aload 2 /* lform */
            ifnull 4
         3: .line 978
            aload 2 /* lform */
            areturn
         4: .line 982
      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 984
            iload 3 /* ARG_LIMIT */
            istore 4 /* nameCursor */
        start local 4 // int nameCursor
         6: .line 985
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 5 /* GET_TARGET */
        start local 5 // int GET_TARGET
         7: .line 986
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 6 /* GET_CLASS */
        start local 6 // int GET_CLASS
         8: .line 987
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 7 /* GET_CATCHER */
        start local 7 // int GET_CATCHER
         9: .line 988
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 8 /* GET_COLLECT_ARGS */
        start local 8 // int GET_COLLECT_ARGS
        10: .line 989
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 9 /* GET_UNBOX_RESULT */
        start local 9 // int GET_UNBOX_RESULT
        11: .line 990
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 10 /* BOXED_ARGS */
        start local 10 // int BOXED_ARGS
        12: .line 991
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 11 /* TRY_CATCH */
        start local 11 // int TRY_CATCH
        13: .line 992
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 12 /* UNBOX_RESULT */
        start local 12 // int UNBOX_RESULT
        14: .line 994
            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 996
            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 997
            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 998
            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 999
            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 1000
            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 1001
            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 1002
            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 1007
            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 1008
            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 1009
            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 1010
            aload 17 /* args */
            iconst_0
            aload 13 /* names */
            iload 8 /* GET_COLLECT_ARGS */
            aaload
            aastore
        26: .line 1011
            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 1012
            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 1015
            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 1016
            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 1019
            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 1020
            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 1021
            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 1023
            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 1025
            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 1032
            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 1033
            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 1037
            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 1038
            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 1039
            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 1041
            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 1044
            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 1045
            aload 2 /* catcher */
            aload 6 /* collectArgs */
            aload 7 /* unboxResult */
         8: .line 1044
            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 1046
            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 1047
            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 1049
      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 1050
      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 1062
            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 1063
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4 /* t */
        start local 4 // java.lang.Throwable t
         3: .line 1064
            aload 1 /* exType */
            aload 4 /* t */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 4
            aload 4 /* t */
            athrow
         4: .line 1065
      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 1072
            aload 0 /* array */
            arraylength
            istore 2 /* nArray */
        start local 2 // int nArray
         1: .line 1073
            aload 1 /* elems */
            arraylength
            istore 3 /* nElems */
        start local 3 // int nElems
         2: .line 1074
            iload 2 /* nArray */
            iload 3 /* nElems */
            iadd
            anewarray java.lang.Object
            astore 4 /* newArray */
        start local 4 // java.lang.Object[] newArray
         3: .line 1075
            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 1076
            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 1077
            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 1082
            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 1083
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 1 /* arity */
        start local 1 // int arity
         2: .line 1084
            iload 1 /* arity */
            iconst_1
            if_icmple 6
         3: .line 1085
            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 1086
            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 1087
            aload 2 /* mh */
            areturn
        end local 2 // java.lang.invoke.MethodHandle mh
         6: .line 1089
      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 1092
            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 1097
            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 1098
      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 1099
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* idx */
        start local 1 // int idx
         5: goto 9
        end local 1 // int idx
         6: .line 1100
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* idx */
        start local 1 // int idx
         7: goto 9
        end local 1 // int idx
         8: .line 1101
      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 1103
      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 1104
            aload 3 /* mh */
            ifnull 11
            aload 3 /* mh */
            areturn
        11: .line 1105
      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 1106
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
            dup
            iconst_1
            ldc [Ljava/lang/Object;
            aastore
        13: .line 1105
            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 1107
            aload 4 /* type */
            invokestatic java.lang.invoke.MethodHandleImpl.throwException:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 3 /* mh */
        15: .line 1108
            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 1109
            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 1110
            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 1111
      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 1112
            aload 3 /* mh */
            iconst_1
            invokevirtual java.lang.invoke.MethodHandle.withVarargs:(Z)Ljava/lang/invoke/MethodHandle;
            astore 3 /* mh */
        20: .line 1113
            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 1114
      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 1115
            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 1119
            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 1120
            ldc Ljava/lang/invoke/VarHandle;
            aastore
            dup
            iconst_1
            ldc [Ljava/lang/Object;
            aastore
         2: .line 1119
            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 1121
            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 1122
            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 1123
            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 1124
            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 1125
      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 1126
            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 1127
            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 1128
      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 1141
            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 1327
            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 1328
            aload 0 /* target */
            areturn
         2: .line 1329
      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 1395
            aload 1 /* intrinsicName */
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.intrinsicName:()Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            if_acmpne 2
         1: .line 1396
            aload 0 /* target */
            areturn
         2: .line 1397
      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 1401
            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 1407
            iload 1 /* nargs */
            invokestatic java.lang.invoke.MethodType.genericMethodType:(I)Ljava/lang/invoke/MethodType;
         1: .line 1408
            aload 2 /* rtype */
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
         2: .line 1409
            iconst_0
            aload 3 /* ptypes */
            invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
         3: .line 1407
            astore 4 /* type */
        start local 4 // java.lang.invoke.MethodType type
         4: .line 1411
            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 1412
      StackMap locals: java.lang.String int java.lang.Class java.lang.Class[] java.lang.invoke.MethodType
      StackMap stack: java.lang.ReflectiveOperationException
            pop
         7: .line 1413
            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 1418
            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 1419
            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 1421
            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 1423
            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 1425
            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 1427
            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 1430
            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 1433
            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 1436
            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 1439
            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 1443
            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 1447
            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 1455
            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 1456
            aload 2 /* a */
            iconst_0
            aload 1 /* args */
            invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
         2: .line 1457
            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 1460
            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 1461
            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 1462
      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 1463
            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 1466
            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 1467
            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 1470
            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 1472
            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 1474
            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 1476
            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 1479
            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 1482
            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 1485
            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 1488
            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 1492
            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 1496
            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 1502
            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 1503
      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 1504
            aload 1 /* mh */
            ifnull 5
         4: .line 1505
            aload 1 /* mh */
            areturn
         5: .line 1507
      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 1508
            getstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAYS:[Ljava/lang/invoke/MethodHandle;
            iload 0 /* count */
            aload 1 /* mh */
            aastore
         7: .line 1509
            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 1513
            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 1514
            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 1515
            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 1522
            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 1523
            aload 1 /* mh */
            ifnull 3
         2: .line 1524
            aload 1 /* mh */
            areturn
         3: .line 1526
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            iload 0 /* nargs */
            bipush 11
            if_icmpge 6
         4: .line 1527
            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 1528
            goto 9
         6: .line 1529
      StackMap locals:
      StackMap stack:
            iconst_4
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
         7: .line 1530
            iconst_5
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
            iload 0 /* nargs */
         8: .line 1529
            invokestatic java.lang.invoke.MethodHandleImpl.buildVarargsArray:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
            astore 1 /* mh */
         9: .line 1532
      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 1533
      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 1534
            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 1538
            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 1539
      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 1544
            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 1551
            iload 2 /* nargs */
            bipush 10
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* leftLen */
        start local 3 // int leftLen
         1: .line 1552
            iload 2 /* nargs */
            iload 3 /* leftLen */
            isub
            istore 4 /* rightLen */
        start local 4 // int rightLen
         2: .line 1553
            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 1554
            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 1555
            aload 1 /* finisher */
            astore 6 /* mh */
        start local 6 // java.lang.invoke.MethodHandle mh
         5: .line 1556
            iload 4 /* rightLen */
            ifle 10
         6: .line 1557
            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 1558
            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 1559
            aload 7 /* rightFiller */
            astore 6 /* mh */
            goto 10
         9: .line 1561
      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 1563
      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 1564
            aload 5 /* leftCollector */
            astore 6 /* mh */
            goto 13
        12: .line 1566
      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 1567
      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 1577
            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 1578
            aload 1 /* filler */
            ifnull 2
            aload 1 /* filler */
            areturn
         2: .line 1579
      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 1580
            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 1581
      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 1584
            iload 0 /* nargs */
            bipush 10
            if_icmpgt 2
         1: .line 1585
            iconst_5
            invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
            areturn
         2: .line 1588
      StackMap locals:
      StackMap stack:
            iload 0 /* nargs */
            bipush 10
            irem
            istore 1 /* rightLen */
        start local 1 // int rightLen
         3: .line 1589
            iload 0 /* nargs */
            iload 1 /* rightLen */
            isub
            istore 2 /* midLen */
        start local 2 // int midLen
         4: .line 1590
            iload 1 /* rightLen */
            ifne 12
         5: .line 1591
            iload 0 /* nargs */
            bipush 10
            dup
            istore 1 /* rightLen */
            isub
            istore 2 /* midLen */
         6: .line 1592
            getstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAY_TO_RIGHT:[Ljava/lang/invoke/MethodHandle;
            iload 2 /* midLen */
            aaload
            ifnonnull 12
         7: .line 1594
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         8: goto 11
         9: .line 1595
      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 1594
      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 1598
      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 1599
      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 1600
      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 1601
            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 1602
            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 1603
      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 1609
      StackMap locals:
      StackMap stack:
            iload 2 /* midLen */
            bipush 10
            if_icmpne 20
        19: .line 1610
            aload 4 /* rightFill */
            areturn
        20: .line 1612
      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 1622
            aload 0 /* arrayType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 2 /* elemType */
        start local 2 // java.lang.Class elemType
         1: .line 1623
            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 1625
      StackMap locals: java.lang.Class
      StackMap stack:
            iload 1 /* nargs */
            bipush 126
            if_icmplt 8
         3: .line 1626
            iload 1 /* nargs */
            istore 3 /* slots */
        start local 3 // int slots
         4: .line 1628
            iload 3 /* slots */
            sipush 254
            if_icmpgt 6
            aload 2 /* elemType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 6
         5: .line 1629
            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 1630
      StackMap locals: int
      StackMap stack:
            iload 3 /* slots */
            sipush 254
            if_icmple 8
         7: .line 1631
            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 1633
      StackMap locals:
      StackMap stack:
            aload 2 /* elemType */
            ldc Ljava/lang/Object;
            if_acmpne 10
         9: .line 1634
            iload 1 /* nargs */
            invokestatic java.lang.invoke.MethodHandleImpl.varargsArray:(I)Ljava/lang/invoke/MethodHandle;
            areturn
        10: .line 1636
      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 1637
            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 1638
            aload 4 /* mh */
            ifnull 15
            aload 4 /* mh */
            areturn
        15: .line 1639
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            iload 1 /* nargs */
            ifne 19
        16: .line 1640
            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 1641
            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 1642
            goto 29
      StackMap locals:
      StackMap stack:
        19: aload 2 /* elemType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 24
        20: .line 1643
            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 1644
            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 1645
            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 1646
            goto 29
        24: .line 1647
      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 1648
            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 1649
            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 1650
            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 1651
            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 1653
      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 1654
            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 1655
            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 1656
      StackMap locals:
      StackMap stack:
            iload 1 /* nargs */
            aload 3 /* cache */
            arraylength
            if_icmpge 34
        33: .line 1657
            aload 3 /* cache */
            iload 1 /* nargs */
            aload 4 /* mh */
            aastore
        34: .line 1658
      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 1662
            aload 0 /* arrayType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 1 /* elemType */
        start local 1 // java.lang.Class elemType
         1: .line 1663
            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 1664
      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 1668
            aload 0 /* mh1 */
            aload 1 /* mh2 */
            if_acmpeq 6
         1: .line 1669
            ldc "mh1 != mh2: mh1 = %s (form: %s); mh2 = %s (form: %s)"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 1670
            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 1671
            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 1669
            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 1672
            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 1674
      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 1690
            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 1691
            aload 1 /* nf */
            ifnull 3
         2: .line 1692
            aload 1 /* nf */
            areturn
         3: .line 1694
      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 1699
            iload 0 /* func */
            tableswitch { // 0 - 5
                    0: 1
                    1: 5
                    2: 19
                    3: 11
                    4: 15
                    5: 23
              default: 27
          }
         1: .line 1701
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            ldc Ljava/lang/invoke/MethodHandleImpl;
         2: .line 1702
            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 1701
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
         4: areturn
         5: .line 1704
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            ldc Ljava/lang/invoke/MethodHandleImpl;
         6: .line 1705
            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 1706
            ldc Ljava/lang/invoke/MethodHandle;
            aastore
            dup
            iconst_3
            ldc [Ljava/lang/Object;
            aastore
         8: .line 1705
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
         9: .line 1704
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
        10: areturn
        11: .line 1708
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            ldc Ljava/lang/invoke/MethodHandleImpl;
        12: .line 1709
            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 1708
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
        14: areturn
        15: .line 1711
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            ldc Ljava/lang/invoke/MethodHandleImpl;
        16: .line 1712
            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 1711
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
        18: areturn
        19: .line 1714
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            ldc Ljava/lang/invoke/MethodHandleImpl;
        20: .line 1715
            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 1714
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
        22: areturn
        23: .line 1717
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            ldc Ljava/lang/invoke/MethodHandleImpl;
        24: .line 1718
            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 1717
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
        26: areturn
        27: .line 1720
      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 1722
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 1 /* ex */
        start local 1 // java.lang.ReflectiveOperationException ex
        29: .line 1723
            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 1806
            aload 0 /* returnType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 5
         1: .line 1807
            aload 0 /* returnType */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 3
         2: .line 1808
            invokestatic sun.invoke.util.ValueConversions.ignore:()Ljava/lang/invoke/MethodHandle;
            areturn
         3: .line 1810
      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 1811
            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 1814
      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 1832
            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 1834
            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 1833
            astore 7 /* initClauseTypes */
        start local 7 // java.lang.invoke.LambdaForm$BasicType[] initClauseTypes
         3: .line 1835
            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 1839
            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 1840
            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 1841
            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 1844
            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 1843
            astore 12 /* clauseData */
        start local 12 // java.lang.invoke.MethodHandleImpl$LoopClauses clauseData
         9: .line 1845
            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 1848
            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 1849
            aload 10 /* collectArgs */
            aload 11 /* unboxResult */
        12: .line 1848
            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 1850
            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 1851
            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 1853
      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 1854
      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 1858
            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 1890
            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 1894
            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 1896
            iload 3 /* ARG_LIMIT */
            istore 4 /* nameCursor */
        start local 4 // int nameCursor
         3: .line 1897
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 5 /* GET_CLAUSE_DATA */
        start local 5 // int GET_CLAUSE_DATA
         4: .line 1898
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 6 /* GET_COLLECT_ARGS */
        start local 6 // int GET_COLLECT_ARGS
         5: .line 1899
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 7 /* GET_UNBOX_RESULT */
        start local 7 // int GET_UNBOX_RESULT
         6: .line 1900
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 8 /* BOXED_ARGS */
        start local 8 // int BOXED_ARGS
         7: .line 1901
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 9 /* LOOP */
        start local 9 // int LOOP
         8: .line 1902
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 10 /* UNBOX_RESULT */
        start local 10 // int UNBOX_RESULT
         9: .line 1904
            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 1905
            aload 11 /* lform */
            ifnonnull 33
        11: .line 1906
            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 1908
            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 1909
            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 1910
            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 1911
            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 1912
            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 1915
            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 1916
            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 1917
            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 1918
            aload 16 /* args */
            iconst_0
            aload 12 /* names */
            iload 6 /* GET_COLLECT_ARGS */
            aaload
            aastore
        21: .line 1919
            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 1920
            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 1924
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_1
        24: .line 1925
            aload 12 /* names */
            iload 5 /* GET_CLAUSE_DATA */
            aaload
            aastore
            dup
            iconst_2
            aload 12 /* names */
            iload 8 /* BOXED_ARGS */
            aaload
            aastore
        25: .line 1923
            astore 17 /* lArgs */
        start local 17 // java.lang.Object[] lArgs
        26: .line 1926
            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 1929
            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 1930
            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 1931
            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 1933
            aload 0 /* basicType */
            invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
            bipush 19
        31: .line 1934
            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 1933
            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 1938
      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 1974
            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 1975
            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 1976
            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 1977
            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 1978
            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 1979
            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 1980
            iload 7 /* varSize */
            iload 8 /* nArgs */
            iadd
            anewarray java.lang.Object
            astore 9 /* varsAndArgs */
        start local 9 // java.lang.Object[] varsAndArgs
         7: .line 1981
            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 1982
      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 1983
            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 1984
            aload 12 /* ih */
            aload 2 /* av */
            invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 1985
            goto 15
        14: .line 1986
      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 1981
      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 1989
            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 1990
            aload 4 /* step */
            arraylength
            istore 10 /* nSteps */
        start local 10 // int nSteps
        19: .line 1992
      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 1993
      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 1994
            aload 4 /* step */
            iload 11 /* i */
            aaload
            astore 14 /* s */
        start local 14 // java.lang.invoke.MethodHandle s
        24: .line 1995
            aload 6 /* fini */
            iload 11 /* i */
            aaload
            astore 15 /* f */
        start local 15 // java.lang.invoke.MethodHandle f
        25: .line 1996
            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 1997
            aload 14 /* s */
            aload 9 /* varsAndArgs */
            invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 1998
            goto 29
        28: .line 1999
      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 2001
      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 2002
            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 1992
      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 1991
            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 2018
            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 2031
            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 2042
            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 2053
            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 2065
            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 2079
            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 2080
            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 2084
            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 2085
            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 2086
            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 2088
            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 2091
            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 2092
            aload 7 /* collectArgs */
            aload 8 /* unboxResult */
         8: .line 2091
            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 2093
            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 2094
            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 2096
      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 2097
      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 2123
            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 2125
            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 2126
            aload 2 /* lform */
            ifnull 4
         3: .line 2127
            aload 2 /* lform */
            areturn
         4: .line 2131
      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 2133
            iload 3 /* ARG_LIMIT */
            istore 4 /* nameCursor */
        start local 4 // int nameCursor
         6: .line 2134
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 5 /* GET_TARGET */
        start local 5 // int GET_TARGET
         7: .line 2135
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 6 /* GET_CLEANUP */
        start local 6 // int GET_CLEANUP
         8: .line 2136
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 7 /* GET_COLLECT_ARGS */
        start local 7 // int GET_COLLECT_ARGS
         9: .line 2137
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 8 /* GET_UNBOX_RESULT */
        start local 8 // int GET_UNBOX_RESULT
        10: .line 2138
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 9 /* BOXED_ARGS */
        start local 9 // int BOXED_ARGS
        11: .line 2139
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 10 /* TRY_FINALLY */
        start local 10 // int TRY_FINALLY
        12: .line 2140
            iload 4 /* nameCursor */
            iinc 4 /* nameCursor */ 1
            istore 11 /* UNBOX_RESULT */
        start local 11 // int UNBOX_RESULT
        13: .line 2142
            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 2144
            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 2145
            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 2146
            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 2147
            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 2148
            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 2149
            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 2152
            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 2153
            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 2154
            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 2155
            aload 16 /* args */
            iconst_0
            aload 12 /* names */
            iload 7 /* GET_COLLECT_ARGS */
            aaload
            aastore
        24: .line 2156
            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 2157
            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 2160
            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 2161
            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 2164
            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 2165
            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 2166
            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 2168
            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 2170
            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 2179
            aconst_null
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
         1: .line 2180
            aconst_null
            astore 4 /* r */
        start local 4 // java.lang.Object r
         2: .line 2182
            aload 0 /* target */
            aload 2 /* av */
            invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* r */
         3: .line 2183
            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 2184
            aload 5 /* thrown */
            astore 3 /* t */
         6: .line 2185
            aload 3 /* t */
            athrow
        end local 5 // java.lang.Throwable thrown
         7: .line 2186
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
         8: .line 2187
            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 2188
            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 2189
            aload 6
            athrow
        13: .line 2187
      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 2188
            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 2190
            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 2210
            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 2211
            aload 1 /* handle */
            ifnull 3
         2: .line 2212
            aload 1 /* handle */
            areturn
         3: .line 2214
      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 2219
            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 2220
            aload 2 /* prev */
            ifnull 3
         2: .line 2221
            aload 2 /* prev */
            areturn
         3: .line 2223
      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 2224
            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 2232
            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 2234
      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 2235
            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 2234
            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 2237
      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 2238
            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 2237
            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 2240
      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 2241
            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 2240
            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 2243
      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 2244
            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 2243
            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 2246
      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 2247
            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 2246
            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 2249
      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 2250
            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 2249
            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 2252
      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 2253
            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 2252
            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 2255
      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 2256
            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 2255
            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 2258
      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 2259
            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 2258
            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 2261
      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 2262
            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 2261
            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 2264
      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 2265
            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 2264
            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 2267
      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 2268
            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 2267
            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 2270
      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 2271
            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 2273
      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 1834
            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 1978
            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
  public abstract Entry = java.util.Map$Entry of java.util.Map