public class java.lang.invoke.LambdaMetafactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.lang.invoke.LambdaMetafactory
  super_class: java.lang.Object
{
  public static final int FLAG_SERIALIZABLE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int FLAG_MARKERS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int FLAG_BRIDGES;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final java.lang.Class<?>[] EMPTY_CLASS_ARRAY;
    descriptor: [Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: [Ljava/lang/Class<*>;

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 234
            iconst_0
            anewarray java.lang.Class
            putstatic java.lang.invoke.LambdaMetafactory.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
         1: .line 235
            iconst_0
            anewarray java.lang.invoke.MethodType
            putstatic java.lang.invoke.LambdaMetafactory.EMPTY_MT_ARRAY:[Ljava/lang/invoke/MethodType;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

  public static java.lang.invoke.CallSite metafactory(java.lang.invoke.MethodHandles$Lookup, java.lang.String, java.lang.invoke.MethodType, java.lang.invoke.MethodType, java.lang.invoke.MethodHandle, java.lang.invoke.MethodType);
    descriptor: (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;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=7, args_size=6
        start local 0 // java.lang.invoke.MethodHandles$Lookup caller
        start local 1 // java.lang.String invokedName
        start local 2 // java.lang.invoke.MethodType invokedType
        start local 3 // java.lang.invoke.MethodType samMethodType
        start local 4 // java.lang.invoke.MethodHandle implMethod
        start local 5 // java.lang.invoke.MethodType instantiatedMethodType
         0: .line 299
            new java.lang.invoke.InnerClassLambdaMetafactory
            dup
            aload 0 /* caller */
            aload 2 /* invokedType */
         1: .line 300
            aload 1 /* invokedName */
            aload 3 /* samMethodType */
         2: .line 301
            aload 4 /* implMethod */
            aload 5 /* instantiatedMethodType */
         3: .line 302
            iconst_0
            getstatic java.lang.invoke.LambdaMetafactory.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
            getstatic java.lang.invoke.LambdaMetafactory.EMPTY_MT_ARRAY:[Ljava/lang/invoke/MethodType;
         4: .line 299
            invokespecial java.lang.invoke.InnerClassLambdaMetafactory.<init>:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/invoke/MethodType;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Z[Ljava/lang/Class;[Ljava/lang/invoke/MethodType;)V
            astore 6 /* mf */
        start local 6 // java.lang.invoke.AbstractValidatingLambdaMetafactory mf
         5: .line 303
            aload 6 /* mf */
            invokevirtual java.lang.invoke.AbstractValidatingLambdaMetafactory.validateMetafactoryArgs:()V
         6: .line 304
            aload 6 /* mf */
            invokevirtual java.lang.invoke.AbstractValidatingLambdaMetafactory.buildCallSite:()Ljava/lang/invoke/CallSite;
            areturn
        end local 6 // java.lang.invoke.AbstractValidatingLambdaMetafactory mf
        end local 5 // java.lang.invoke.MethodType instantiatedMethodType
        end local 4 // java.lang.invoke.MethodHandle implMethod
        end local 3 // java.lang.invoke.MethodType samMethodType
        end local 2 // java.lang.invoke.MethodType invokedType
        end local 1 // java.lang.String invokedName
        end local 0 // java.lang.invoke.MethodHandles$Lookup caller
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    7     0                  caller  Ljava/lang/invoke/MethodHandles$Lookup;
            0    7     1             invokedName  Ljava/lang/String;
            0    7     2             invokedType  Ljava/lang/invoke/MethodType;
            0    7     3           samMethodType  Ljava/lang/invoke/MethodType;
            0    7     4              implMethod  Ljava/lang/invoke/MethodHandle;
            0    7     5  instantiatedMethodType  Ljava/lang/invoke/MethodType;
            5    7     6                      mf  Ljava/lang/invoke/AbstractValidatingLambdaMetafactory;
    Exceptions:
      throws java.lang.invoke.LambdaConversionException
    MethodParameters:
                        Name  Flags
      caller                  
      invokedName             
      invokedType             
      samMethodType           
      implMethod              
      instantiatedMethodType  

  public static java.lang.invoke.CallSite altMetafactory(java.lang.invoke.MethodHandles$Lookup, java.lang.String, java.lang.invoke.MethodType, java.lang.Object[]);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=11, locals=17, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup caller
        start local 1 // java.lang.String invokedName
        start local 2 // java.lang.invoke.MethodType invokedType
        start local 3 // java.lang.Object[] args
         0: .line 431
            aload 3 /* args */
            iconst_0
            aaload
            checkcast java.lang.invoke.MethodType
            astore 4 /* samMethodType */
        start local 4 // java.lang.invoke.MethodType samMethodType
         1: .line 432
            aload 3 /* args */
            iconst_1
            aaload
            checkcast java.lang.invoke.MethodHandle
            astore 5 /* implMethod */
        start local 5 // java.lang.invoke.MethodHandle implMethod
         2: .line 433
            aload 3 /* args */
            iconst_2
            aaload
            checkcast java.lang.invoke.MethodType
            astore 6 /* instantiatedMethodType */
        start local 6 // java.lang.invoke.MethodType instantiatedMethodType
         3: .line 434
            aload 3 /* args */
            iconst_3
            aaload
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 7 /* flags */
        start local 7 // int flags
         4: .line 437
            iconst_4
            istore 10 /* argIndex */
        start local 10 // int argIndex
         5: .line 438
            iload 7 /* flags */
            iconst_2
            iand
            ifeq 11
         6: .line 439
            aload 3 /* args */
            iload 10 /* argIndex */
            iinc 10 /* argIndex */ 1
            aaload
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 11 /* markerCount */
        start local 11 // int markerCount
         7: .line 440
            iload 11 /* markerCount */
            anewarray java.lang.Class
            astore 8 /* markerInterfaces */
        start local 8 // java.lang.Class[] markerInterfaces
         8: .line 441
            aload 3 /* args */
            iload 10 /* argIndex */
            aload 8 /* markerInterfaces */
            iconst_0
            iload 11 /* markerCount */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 442
            iload 10 /* argIndex */
            iload 11 /* markerCount */
            iadd
            istore 10 /* argIndex */
        end local 11 // int markerCount
        10: .line 443
            goto 12
        end local 8 // java.lang.Class[] markerInterfaces
        11: .line 445
      StackMap locals: java.lang.invoke.MethodHandles$Lookup java.lang.String java.lang.invoke.MethodType java.lang.Object[] java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodType int top top int
      StackMap stack:
            getstatic java.lang.invoke.LambdaMetafactory.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
            astore 8 /* markerInterfaces */
        start local 8 // java.lang.Class[] markerInterfaces
        12: .line 446
      StackMap locals: java.lang.invoke.MethodHandles$Lookup java.lang.String java.lang.invoke.MethodType java.lang.Object[] java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodType int java.lang.Class[] top int
      StackMap stack:
            iload 7 /* flags */
            iconst_4
            iand
            ifeq 18
        13: .line 447
            aload 3 /* args */
            iload 10 /* argIndex */
            iinc 10 /* argIndex */ 1
            aaload
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 11 /* bridgeCount */
        start local 11 // int bridgeCount
        14: .line 448
            iload 11 /* bridgeCount */
            anewarray java.lang.invoke.MethodType
            astore 9 /* bridges */
        start local 9 // java.lang.invoke.MethodType[] bridges
        15: .line 449
            aload 3 /* args */
            iload 10 /* argIndex */
            aload 9 /* bridges */
            iconst_0
            iload 11 /* bridgeCount */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        16: .line 450
            iload 10 /* argIndex */
            iload 11 /* bridgeCount */
            iadd
            istore 10 /* argIndex */
        end local 11 // int bridgeCount
        17: .line 451
            goto 19
        end local 9 // java.lang.invoke.MethodType[] bridges
        18: .line 453
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaMetafactory.EMPTY_MT_ARRAY:[Ljava/lang/invoke/MethodType;
            astore 9 /* bridges */
        start local 9 // java.lang.invoke.MethodType[] bridges
        19: .line 455
      StackMap locals: java.lang.invoke.MethodHandles$Lookup java.lang.String java.lang.invoke.MethodType java.lang.Object[] java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodType int java.lang.Class[] java.lang.invoke.MethodType[] int
      StackMap stack:
            iload 7 /* flags */
            iconst_1
            iand
            ifeq 20
            iconst_1
            goto 21
      StackMap locals:
      StackMap stack:
        20: iconst_0
      StackMap locals:
      StackMap stack: int
        21: istore 11 /* isSerializable */
        start local 11 // boolean isSerializable
        22: .line 456
            iload 11 /* isSerializable */
            ifeq 32
        23: .line 457
            ldc Ljava/io/Serializable;
            aload 2 /* invokedType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            istore 12 /* foundSerializableSupertype */
        start local 12 // boolean foundSerializableSupertype
        24: .line 458
            aload 8 /* markerInterfaces */
            dup
            astore 16
            arraylength
            istore 15
            iconst_0
            istore 14
            goto 28
      StackMap locals: java.lang.invoke.MethodHandles$Lookup java.lang.String java.lang.invoke.MethodType java.lang.Object[] java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodType int java.lang.Class[] java.lang.invoke.MethodType[] int int int top int int java.lang.Class[]
      StackMap stack:
        25: aload 16
            iload 14
            aaload
            astore 13 /* c */
        start local 13 // java.lang.Class c
        26: .line 459
            iload 12 /* foundSerializableSupertype */
            ldc Ljava/io/Serializable;
            aload 13 /* c */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ior
            istore 12 /* foundSerializableSupertype */
        end local 13 // java.lang.Class c
        27: .line 458
            iinc 14 1
      StackMap locals:
      StackMap stack:
        28: iload 14
            iload 15
            if_icmplt 25
        29: .line 460
            iload 12 /* foundSerializableSupertype */
            ifne 32
        30: .line 461
            aload 8 /* markerInterfaces */
            aload 8 /* markerInterfaces */
            arraylength
            iconst_1
            iadd
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast java.lang.Class[]
            astore 8 /* markerInterfaces */
        31: .line 462
            aload 8 /* markerInterfaces */
            aload 8 /* markerInterfaces */
            arraylength
            iconst_1
            isub
            ldc Ljava/io/Serializable;
            aastore
        end local 12 // boolean foundSerializableSupertype
        32: .line 467
      StackMap locals: java.lang.invoke.MethodHandles$Lookup java.lang.String java.lang.invoke.MethodType java.lang.Object[] java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodType int java.lang.Class[] java.lang.invoke.MethodType[] int int
      StackMap stack:
            new java.lang.invoke.InnerClassLambdaMetafactory
            dup
            aload 0 /* caller */
            aload 2 /* invokedType */
        33: .line 468
            aload 1 /* invokedName */
            aload 4 /* samMethodType */
        34: .line 469
            aload 5 /* implMethod */
        35: .line 470
            aload 6 /* instantiatedMethodType */
        36: .line 471
            iload 11 /* isSerializable */
        37: .line 472
            aload 8 /* markerInterfaces */
            aload 9 /* bridges */
        38: .line 467
            invokespecial java.lang.invoke.InnerClassLambdaMetafactory.<init>:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/invoke/MethodType;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Z[Ljava/lang/Class;[Ljava/lang/invoke/MethodType;)V
        39: .line 466
            astore 12 /* mf */
        start local 12 // java.lang.invoke.AbstractValidatingLambdaMetafactory mf
        40: .line 473
            aload 12 /* mf */
            invokevirtual java.lang.invoke.AbstractValidatingLambdaMetafactory.validateMetafactoryArgs:()V
        41: .line 474
            aload 12 /* mf */
            invokevirtual java.lang.invoke.AbstractValidatingLambdaMetafactory.buildCallSite:()Ljava/lang/invoke/CallSite;
            areturn
        end local 12 // java.lang.invoke.AbstractValidatingLambdaMetafactory mf
        end local 11 // boolean isSerializable
        end local 10 // int argIndex
        end local 9 // java.lang.invoke.MethodType[] bridges
        end local 8 // java.lang.Class[] markerInterfaces
        end local 7 // int flags
        end local 6 // java.lang.invoke.MethodType instantiatedMethodType
        end local 5 // java.lang.invoke.MethodHandle implMethod
        end local 4 // java.lang.invoke.MethodType samMethodType
        end local 3 // java.lang.Object[] args
        end local 2 // java.lang.invoke.MethodType invokedType
        end local 1 // java.lang.String invokedName
        end local 0 // java.lang.invoke.MethodHandles$Lookup caller
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   42     0                      caller  Ljava/lang/invoke/MethodHandles$Lookup;
            0   42     1                 invokedName  Ljava/lang/String;
            0   42     2                 invokedType  Ljava/lang/invoke/MethodType;
            0   42     3                        args  [Ljava/lang/Object;
            1   42     4               samMethodType  Ljava/lang/invoke/MethodType;
            2   42     5                  implMethod  Ljava/lang/invoke/MethodHandle;
            3   42     6      instantiatedMethodType  Ljava/lang/invoke/MethodType;
            4   42     7                       flags  I
            8   11     8            markerInterfaces  [Ljava/lang/Class;
           12   42     8            markerInterfaces  [Ljava/lang/Class;
           15   18     9                     bridges  [Ljava/lang/invoke/MethodType;
           19   42     9                     bridges  [Ljava/lang/invoke/MethodType;
            5   42    10                    argIndex  I
            7   10    11                 markerCount  I
           14   17    11                 bridgeCount  I
           22   42    11              isSerializable  Z
           24   32    12  foundSerializableSupertype  Z
           26   27    13                           c  Ljava/lang/Class<*>;
           40   42    12                          mf  Ljava/lang/invoke/AbstractValidatingLambdaMetafactory;
    Exceptions:
      throws java.lang.invoke.LambdaConversionException
    MethodParameters:
             Name  Flags
      caller       
      invokedName  
      invokedType  
      args         
}
SourceFile: "LambdaMetafactory.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles