class org.junit.runners.Parameterized$RunnersFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.junit.runners.Parameterized$RunnersFactory
  super_class: java.lang.Object
{
  private static final org.junit.runners.parameterized.ParametersRunnerFactory DEFAULT_FACTORY;
    descriptor: Lorg/junit/runners/parameterized/ParametersRunnerFactory;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.junit.runners.model.TestClass testClass;
    descriptor: Lorg/junit/runners/model/TestClass;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.junit.runners.model.FrameworkMethod parametersMethod;
    descriptor: Lorg/junit/runners/model/FrameworkMethod;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<java.lang.Object> allParameters;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/Object;>;

  private final int parameterCount;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.junit.runner.Runner runnerOverride;
    descriptor: Lorg/junit/runner/Runner;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 361
            new org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParametersFactory
            dup
            invokespecial org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParametersFactory.<init>:()V
            putstatic org.junit.runners.Parameterized$RunnersFactory.DEFAULT_FACTORY:Lorg/junit/runners/parameterized/ParametersRunnerFactory;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.junit.runners.Parameterized$RunnersFactory this
        start local 1 // java.lang.Class klass
         0: .line 369
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 370
            aload 0 /* this */
            new org.junit.runners.model.TestClass
            dup
            aload 1 /* klass */
            invokespecial org.junit.runners.model.TestClass.<init>:(Ljava/lang/Class;)V
            putfield org.junit.runners.Parameterized$RunnersFactory.testClass:Lorg/junit/runners/model/TestClass;
         2: .line 371
            aload 0 /* this */
            aload 0 /* this */
            getfield org.junit.runners.Parameterized$RunnersFactory.testClass:Lorg/junit/runners/model/TestClass;
            invokestatic org.junit.runners.Parameterized$RunnersFactory.getParametersMethod:(Lorg/junit/runners/model/TestClass;)Lorg/junit/runners/model/FrameworkMethod;
            putfield org.junit.runners.Parameterized$RunnersFactory.parametersMethod:Lorg/junit/runners/model/FrameworkMethod;
         3: .line 373
            aconst_null
            astore 3 /* assumptionViolationRunner */
        start local 3 // org.junit.runners.Parameterized$AssumptionViolationRunner assumptionViolationRunner
         4: .line 375
            aload 0 /* this */
            getfield org.junit.runners.Parameterized$RunnersFactory.testClass:Lorg/junit/runners/model/TestClass;
            aload 0 /* this */
            getfield org.junit.runners.Parameterized$RunnersFactory.parametersMethod:Lorg/junit/runners/model/FrameworkMethod;
            invokestatic org.junit.runners.Parameterized$RunnersFactory.allParameters:(Lorg/junit/runners/model/TestClass;Lorg/junit/runners/model/FrameworkMethod;)Ljava/util/List;
            astore 2 /* allParametersResult */
        start local 2 // java.util.List allParametersResult
         5: .line 376
            goto 11
        end local 2 // java.util.List allParametersResult
      StackMap locals: org.junit.runners.Parameterized$RunnersFactory java.lang.Class top org.junit.runners.Parameterized$AssumptionViolationRunner
      StackMap stack: org.junit.internal.AssumptionViolatedException
         6: astore 4 /* e */
        start local 4 // org.junit.internal.AssumptionViolatedException e
         7: .line 377
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            astore 2 /* allParametersResult */
        start local 2 // java.util.List allParametersResult
         8: .line 378
            new org.junit.runners.Parameterized$AssumptionViolationRunner
            dup
            aload 0 /* this */
            getfield org.junit.runners.Parameterized$RunnersFactory.testClass:Lorg/junit/runners/model/TestClass;
         9: .line 379
            aload 0 /* this */
            getfield org.junit.runners.Parameterized$RunnersFactory.parametersMethod:Lorg/junit/runners/model/FrameworkMethod;
            invokevirtual org.junit.runners.model.FrameworkMethod.getName:()Ljava/lang/String;
            aload 4 /* e */
        10: .line 378
            invokespecial org.junit.runners.Parameterized$AssumptionViolationRunner.<init>:(Lorg/junit/runners/model/TestClass;Ljava/lang/String;Lorg/junit/internal/AssumptionViolatedException;)V
            astore 3 /* assumptionViolationRunner */
        end local 4 // org.junit.internal.AssumptionViolatedException e
        11: .line 381
      StackMap locals: org.junit.runners.Parameterized$RunnersFactory java.lang.Class java.util.List org.junit.runners.Parameterized$AssumptionViolationRunner
      StackMap stack:
            aload 0 /* this */
            aload 2 /* allParametersResult */
            putfield org.junit.runners.Parameterized$RunnersFactory.allParameters:Ljava/util/List;
        12: .line 382
            aload 0 /* this */
            aload 3 /* assumptionViolationRunner */
            putfield org.junit.runners.Parameterized$RunnersFactory.runnerOverride:Lorg/junit/runner/Runner;
        13: .line 383
            aload 0 /* this */
        14: .line 384
            aload 0 /* this */
            getfield org.junit.runners.Parameterized$RunnersFactory.allParameters:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 15
            iconst_0
            goto 16
      StackMap locals:
      StackMap stack: org.junit.runners.Parameterized$RunnersFactory
        15: aload 0 /* this */
            getfield org.junit.runners.Parameterized$RunnersFactory.allParameters:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokestatic org.junit.runners.Parameterized$RunnersFactory.normalizeParameters:(Ljava/lang/Object;)[Ljava/lang/Object;
            arraylength
        16: .line 383
      StackMap locals: org.junit.runners.Parameterized$RunnersFactory java.lang.Class java.util.List org.junit.runners.Parameterized$AssumptionViolationRunner
      StackMap stack: org.junit.runners.Parameterized$RunnersFactory int
            putfield org.junit.runners.Parameterized$RunnersFactory.parameterCount:I
        17: .line 385
            return
        end local 3 // org.junit.runners.Parameterized$AssumptionViolationRunner assumptionViolationRunner
        end local 2 // java.util.List allParametersResult
        end local 1 // java.lang.Class klass
        end local 0 // org.junit.runners.Parameterized$RunnersFactory this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   18     0                       this  Lorg/junit/runners/Parameterized$RunnersFactory;
            0   18     1                      klass  Ljava/lang/Class<*>;
            5    6     2        allParametersResult  Ljava/util/List<Ljava/lang/Object;>;
            8   18     2        allParametersResult  Ljava/util/List<Ljava/lang/Object;>;
            4   18     3  assumptionViolationRunner  Lorg/junit/runners/Parameterized$AssumptionViolationRunner;
            7   11     4                          e  Lorg/junit/internal/AssumptionViolatedException;
      Exception table:
        from    to  target  type
           4     5       6  Class org.junit.internal.AssumptionViolatedException
    Exceptions:
      throws java.lang.Throwable
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
       Name  Flags
      klass  

  private java.util.List<org.junit.runner.Runner> createRunners();
    descriptor: ()Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.junit.runners.Parameterized$RunnersFactory this
         0: .line 388
            aload 0 /* this */
            getfield org.junit.runners.Parameterized$RunnersFactory.runnerOverride:Lorg/junit/runner/Runner;
            ifnull 2
         1: .line 389
            aload 0 /* this */
            getfield org.junit.runners.Parameterized$RunnersFactory.runnerOverride:Lorg/junit/runner/Runner;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            areturn
         2: .line 391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.junit.runners.Parameterized$RunnersFactory.parametersMethod:Lorg/junit/runners/model/FrameworkMethod;
            ldc Lorg/junit/runners/Parameterized$Parameters;
            invokevirtual org.junit.runners.model.FrameworkMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.junit.runners.Parameterized$Parameters
            astore 1 /* parameters */
        start local 1 // org.junit.runners.Parameterized$Parameters parameters
         3: .line 392
            aload 0 /* this */
         4: .line 393
            aload 0 /* this */
            getfield org.junit.runners.Parameterized$RunnersFactory.allParameters:Ljava/util/List;
            aload 1 /* parameters */
            invokeinterface org.junit.runners.Parameterized$Parameters.name:()Ljava/lang/String;
         5: .line 394
            aload 0 /* this */
            invokevirtual org.junit.runners.Parameterized$RunnersFactory.getParametersRunnerFactory:()Lorg/junit/runners/parameterized/ParametersRunnerFactory;
         6: .line 392
            invokevirtual org.junit.runners.Parameterized$RunnersFactory.createRunnersForParameters:(Ljava/lang/Iterable;Ljava/lang/String;Lorg/junit/runners/parameterized/ParametersRunnerFactory;)Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 1 // org.junit.runners.Parameterized$Parameters parameters
        end local 0 // org.junit.runners.Parameterized$RunnersFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/junit/runners/Parameterized$RunnersFactory;
            3    7     1  parameters  Lorg/junit/runners/Parameterized$Parameters;
    Exceptions:
      throws java.lang.Exception
    Signature: ()Ljava/util/List<Lorg/junit/runner/Runner;>;

  private org.junit.runners.parameterized.ParametersRunnerFactory getParametersRunnerFactory();
    descriptor: ()Lorg/junit/runners/parameterized/ParametersRunnerFactory;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.junit.runners.Parameterized$RunnersFactory this
         0: .line 399
            aload 0 /* this */
            getfield org.junit.runners.Parameterized$RunnersFactory.testClass:Lorg/junit/runners/model/TestClass;
         1: .line 400
            ldc Lorg/junit/runners/Parameterized$UseParametersRunnerFactory;
            invokevirtual org.junit.runners.model.TestClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.junit.runners.Parameterized$UseParametersRunnerFactory
         2: .line 399
            astore 1 /* annotation */
        start local 1 // org.junit.runners.Parameterized$UseParametersRunnerFactory annotation
         3: .line 401
            aload 1 /* annotation */
            ifnonnull 5
         4: .line 402
            getstatic org.junit.runners.Parameterized$RunnersFactory.DEFAULT_FACTORY:Lorg/junit/runners/parameterized/ParametersRunnerFactory;
            areturn
         5: .line 404
      StackMap locals: org.junit.runners.Parameterized$UseParametersRunnerFactory
      StackMap stack:
            aload 1 /* annotation */
         6: .line 405
            invokeinterface org.junit.runners.Parameterized$UseParametersRunnerFactory.value:()Ljava/lang/Class;
         7: .line 404
            astore 2 /* factoryClass */
        start local 2 // java.lang.Class factoryClass
         8: .line 406
            aload 2 /* factoryClass */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.junit.runners.parameterized.ParametersRunnerFactory
            areturn
        end local 2 // java.lang.Class factoryClass
        end local 1 // org.junit.runners.Parameterized$UseParametersRunnerFactory annotation
        end local 0 // org.junit.runners.Parameterized$RunnersFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/junit/runners/Parameterized$RunnersFactory;
            3    9     1    annotation  Lorg/junit/runners/Parameterized$UseParametersRunnerFactory;
            8    9     2  factoryClass  Ljava/lang/Class<+Lorg/junit/runners/parameterized/ParametersRunnerFactory;>;
    Exceptions:
      throws java.lang.InstantiationException, java.lang.IllegalAccessException

  private org.junit.runners.parameterized.TestWithParameters createTestWithNotNormalizedParameters(java.lang.String, int, java.lang.Object);
    descriptor: (Ljava/lang/String;ILjava/lang/Object;)Lorg/junit/runners/parameterized/TestWithParameters;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.junit.runners.Parameterized$RunnersFactory this
        start local 1 // java.lang.String pattern
        start local 2 // int index
        start local 3 // java.lang.Object parametersOrSingleParameter
         0: .line 412
            aload 3 /* parametersOrSingleParameter */
            invokestatic org.junit.runners.Parameterized$RunnersFactory.normalizeParameters:(Ljava/lang/Object;)[Ljava/lang/Object;
            astore 4 /* parameters */
        start local 4 // java.lang.Object[] parameters
         1: .line 413
            aload 0 /* this */
            aload 0 /* this */
            getfield org.junit.runners.Parameterized$RunnersFactory.testClass:Lorg/junit/runners/model/TestClass;
            aload 1 /* pattern */
            iload 2 /* index */
            aload 4 /* parameters */
            invokevirtual org.junit.runners.Parameterized$RunnersFactory.createTestWithParameters:(Lorg/junit/runners/model/TestClass;Ljava/lang/String;I[Ljava/lang/Object;)Lorg/junit/runners/parameterized/TestWithParameters;
            areturn
        end local 4 // java.lang.Object[] parameters
        end local 3 // java.lang.Object parametersOrSingleParameter
        end local 2 // int index
        end local 1 // java.lang.String pattern
        end local 0 // org.junit.runners.Parameterized$RunnersFactory this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    2     0                         this  Lorg/junit/runners/Parameterized$RunnersFactory;
            0    2     1                      pattern  Ljava/lang/String;
            0    2     2                        index  I
            0    2     3  parametersOrSingleParameter  Ljava/lang/Object;
            1    2     4                   parameters  [Ljava/lang/Object;
    MethodParameters:
                             Name  Flags
      pattern                      
      index                        
      parametersOrSingleParameter  

  private static java.lang.Object[] normalizeParameters(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 parametersOrSingleParameter
         0: .line 417
            aload 0 /* parametersOrSingleParameter */
            instanceof java.lang.Object[]
            ifeq 1
            aload 0 /* parametersOrSingleParameter */
            checkcast java.lang.Object[]
            goto 2
         1: .line 418
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* parametersOrSingleParameter */
            aastore
         2: .line 417
      StackMap locals:
      StackMap stack: java.lang.Object[]
            areturn
        end local 0 // java.lang.Object parametersOrSingleParameter
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    3     0  parametersOrSingleParameter  Ljava/lang/Object;
    MethodParameters:
                             Name  Flags
      parametersOrSingleParameter  

  private static java.util.List<java.lang.Object> allParameters(org.junit.runners.model.TestClass, org.junit.runners.model.FrameworkMethod);
    descriptor: (Lorg/junit/runners/model/TestClass;Lorg/junit/runners/model/FrameworkMethod;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.junit.runners.model.TestClass testClass
        start local 1 // org.junit.runners.model.FrameworkMethod parametersMethod
         0: .line 424
            aload 1 /* parametersMethod */
            aconst_null
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.junit.runners.model.FrameworkMethod.invokeExplosively:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* parameters */
        start local 2 // java.lang.Object parameters
         1: .line 425
            aload 2 /* parameters */
            instanceof java.util.List
            ifeq 3
         2: .line 426
            aload 2 /* parameters */
            checkcast java.util.List
            areturn
         3: .line 427
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* parameters */
            instanceof java.util.Collection
            ifeq 5
         4: .line 428
            new java.util.ArrayList
            dup
            aload 2 /* parameters */
            checkcast java.util.Collection
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
         5: .line 429
      StackMap locals:
      StackMap stack:
            aload 2 /* parameters */
            instanceof java.lang.Iterable
            ifeq 12
         6: .line 430
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* result */
        start local 3 // java.util.List result
         7: .line 431
            aload 2 /* parameters */
            checkcast java.lang.Iterable
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: org.junit.runners.model.TestClass org.junit.runners.model.FrameworkMethod java.lang.Object java.util.List top java.util.Iterator
      StackMap stack:
         8: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* entry */
        start local 4 // java.lang.Object entry
         9: .line 432
            aload 3 /* result */
            aload 4 /* entry */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Object entry
        10: .line 431
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 434
            aload 3 /* result */
            areturn
        end local 3 // java.util.List result
        12: .line 435
      StackMap locals: org.junit.runners.model.TestClass org.junit.runners.model.FrameworkMethod java.lang.Object
      StackMap stack:
            aload 2 /* parameters */
            instanceof java.lang.Object[]
            ifeq 14
        13: .line 436
            aload 2 /* parameters */
            checkcast java.lang.Object[]
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            areturn
        14: .line 438
      StackMap locals:
      StackMap stack:
            aload 0 /* testClass */
            aload 1 /* parametersMethod */
            invokestatic org.junit.runners.Parameterized$RunnersFactory.parametersMethodReturnedWrongType:(Lorg/junit/runners/model/TestClass;Lorg/junit/runners/model/FrameworkMethod;)Ljava/lang/Exception;
            athrow
        end local 2 // java.lang.Object parameters
        end local 1 // org.junit.runners.model.FrameworkMethod parametersMethod
        end local 0 // org.junit.runners.model.TestClass testClass
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0         testClass  Lorg/junit/runners/model/TestClass;
            0   15     1  parametersMethod  Lorg/junit/runners/model/FrameworkMethod;
            1   15     2        parameters  Ljava/lang/Object;
            7   12     3            result  Ljava/util/List<Ljava/lang/Object;>;
            9   10     4             entry  Ljava/lang/Object;
    Exceptions:
      throws java.lang.Throwable
    Signature: (Lorg/junit/runners/model/TestClass;Lorg/junit/runners/model/FrameworkMethod;)Ljava/util/List<Ljava/lang/Object;>;
    MethodParameters:
                  Name  Flags
      testClass         
      parametersMethod  

  private static org.junit.runners.model.FrameworkMethod getParametersMethod(org.junit.runners.model.TestClass);
    descriptor: (Lorg/junit/runners/model/TestClass;)Lorg/junit/runners/model/FrameworkMethod;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.junit.runners.model.TestClass testClass
         0: .line 443
            aload 0 /* testClass */
         1: .line 444
            ldc Lorg/junit/runners/Parameterized$Parameters;
            invokevirtual org.junit.runners.model.TestClass.getAnnotatedMethods:(Ljava/lang/Class;)Ljava/util/List;
         2: .line 443
            astore 1 /* methods */
        start local 1 // java.util.List methods
         3: .line 445
            aload 1 /* methods */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: org.junit.runners.model.TestClass java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.junit.runners.model.FrameworkMethod
            astore 2 /* each */
        start local 2 // org.junit.runners.model.FrameworkMethod each
         5: .line 446
            aload 2 /* each */
            invokevirtual org.junit.runners.model.FrameworkMethod.isStatic:()Z
            ifeq 7
            aload 2 /* each */
            invokevirtual org.junit.runners.model.FrameworkMethod.isPublic:()Z
            ifeq 7
         6: .line 447
            aload 2 /* each */
            areturn
        end local 2 // org.junit.runners.model.FrameworkMethod each
         7: .line 445
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 451
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            ldc "No public static parameters method on class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 452
            aload 0 /* testClass */
            invokevirtual org.junit.runners.model.TestClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 451
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.util.List methods
        end local 0 // org.junit.runners.model.TestClass testClass
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0  testClass  Lorg/junit/runners/model/TestClass;
            3   11     1    methods  Ljava/util/List<Lorg/junit/runners/model/FrameworkMethod;>;
            5    7     2       each  Lorg/junit/runners/model/FrameworkMethod;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
           Name  Flags
      testClass  

  private java.util.List<org.junit.runner.Runner> createRunnersForParameters(java.lang.Iterable<java.lang.Object>, java.lang.String, org.junit.runners.parameterized.ParametersRunnerFactory);
    descriptor: (Ljava/lang/Iterable;Ljava/lang/String;Lorg/junit/runners/parameterized/ParametersRunnerFactory;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // org.junit.runners.Parameterized$RunnersFactory this
        start local 1 // java.lang.Iterable allParameters
        start local 2 // java.lang.String namePattern
        start local 3 // org.junit.runners.parameterized.ParametersRunnerFactory runnerFactory
         0: .line 459
            aload 0 /* this */
         1: .line 460
            aload 1 /* allParameters */
            aload 2 /* namePattern */
         2: .line 459
            invokevirtual org.junit.runners.Parameterized$RunnersFactory.createTestsForParameters:(Ljava/lang/Iterable;Ljava/lang/String;)Ljava/util/List;
            astore 4 /* tests */
        start local 4 // java.util.List tests
         3: .line 461
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* runners */
        start local 5 // java.util.List runners
         4: .line 462
            aload 4 /* tests */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 9
      StackMap locals: org.junit.runners.Parameterized$RunnersFactory java.lang.Iterable java.lang.String org.junit.runners.parameterized.ParametersRunnerFactory java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         5: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.junit.runners.parameterized.TestWithParameters
            astore 6 /* test */
        start local 6 // org.junit.runners.parameterized.TestWithParameters test
         6: .line 463
            aload 5 /* runners */
            aload 3 /* runnerFactory */
         7: .line 464
            aload 6 /* test */
            invokeinterface org.junit.runners.parameterized.ParametersRunnerFactory.createRunnerForTestWithParameters:(Lorg/junit/runners/parameterized/TestWithParameters;)Lorg/junit/runner/Runner;
         8: .line 463
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.junit.runners.parameterized.TestWithParameters test
         9: .line 462
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 466
            aload 5 /* runners */
        11: areturn
        end local 5 // java.util.List runners
        end local 4 // java.util.List tests
        12: .line 467
      StackMap locals: org.junit.runners.Parameterized$RunnersFactory java.lang.Iterable java.lang.String org.junit.runners.parameterized.ParametersRunnerFactory
      StackMap stack: java.lang.ClassCastException
            pop
        13: .line 468
            aload 0 /* this */
            getfield org.junit.runners.Parameterized$RunnersFactory.testClass:Lorg/junit/runners/model/TestClass;
            aload 0 /* this */
            getfield org.junit.runners.Parameterized$RunnersFactory.parametersMethod:Lorg/junit/runners/model/FrameworkMethod;
            invokestatic org.junit.runners.Parameterized$RunnersFactory.parametersMethodReturnedWrongType:(Lorg/junit/runners/model/TestClass;Lorg/junit/runners/model/FrameworkMethod;)Ljava/lang/Exception;
            athrow
        end local 3 // org.junit.runners.parameterized.ParametersRunnerFactory runnerFactory
        end local 2 // java.lang.String namePattern
        end local 1 // java.lang.Iterable allParameters
        end local 0 // org.junit.runners.Parameterized$RunnersFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lorg/junit/runners/Parameterized$RunnersFactory;
            0   14     1  allParameters  Ljava/lang/Iterable<Ljava/lang/Object;>;
            0   14     2    namePattern  Ljava/lang/String;
            0   14     3  runnerFactory  Lorg/junit/runners/parameterized/ParametersRunnerFactory;
            3   12     4          tests  Ljava/util/List<Lorg/junit/runners/parameterized/TestWithParameters;>;
            4   12     5        runners  Ljava/util/List<Lorg/junit/runner/Runner;>;
            6    9     6           test  Lorg/junit/runners/parameterized/TestWithParameters;
      Exception table:
        from    to  target  type
           0    11      12  Class java.lang.ClassCastException
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/lang/Iterable<Ljava/lang/Object;>;Ljava/lang/String;Lorg/junit/runners/parameterized/ParametersRunnerFactory;)Ljava/util/List<Lorg/junit/runner/Runner;>;
    MethodParameters:
               Name  Flags
      allParameters  
      namePattern    
      runnerFactory  

  private java.util.List<org.junit.runners.parameterized.TestWithParameters> createTestsForParameters(java.lang.Iterable<java.lang.Object>, java.lang.String);
    descriptor: (Ljava/lang/Iterable;Ljava/lang/String;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.junit.runners.Parameterized$RunnersFactory this
        start local 1 // java.lang.Iterable allParameters
        start local 2 // java.lang.String namePattern
         0: .line 475
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: .line 476
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* children */
        start local 4 // java.util.List children
         2: .line 477
            aload 1 /* allParameters */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: org.junit.runners.Parameterized$RunnersFactory java.lang.Iterable java.lang.String int java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 5 /* parametersOfSingleTest */
        start local 5 // java.lang.Object parametersOfSingleTest
         4: .line 478
            aload 4 /* children */
            aload 0 /* this */
            aload 2 /* namePattern */
         5: .line 479
            iload 3 /* i */
            iinc 3 /* i */ 1
            aload 5 /* parametersOfSingleTest */
         6: .line 478
            invokevirtual org.junit.runners.Parameterized$RunnersFactory.createTestWithNotNormalizedParameters:(Ljava/lang/String;ILjava/lang/Object;)Lorg/junit/runners/parameterized/TestWithParameters;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.Object parametersOfSingleTest
         7: .line 477
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 481
            aload 4 /* children */
            areturn
        end local 4 // java.util.List children
        end local 3 // int i
        end local 2 // java.lang.String namePattern
        end local 1 // java.lang.Iterable allParameters
        end local 0 // org.junit.runners.Parameterized$RunnersFactory this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    9     0                    this  Lorg/junit/runners/Parameterized$RunnersFactory;
            0    9     1           allParameters  Ljava/lang/Iterable<Ljava/lang/Object;>;
            0    9     2             namePattern  Ljava/lang/String;
            1    9     3                       i  I
            2    9     4                children  Ljava/util/List<Lorg/junit/runners/parameterized/TestWithParameters;>;
            4    7     5  parametersOfSingleTest  Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/lang/Iterable<Ljava/lang/Object;>;Ljava/lang/String;)Ljava/util/List<Lorg/junit/runners/parameterized/TestWithParameters;>;
    MethodParameters:
               Name  Flags
      allParameters  
      namePattern    

  private static java.lang.Exception parametersMethodReturnedWrongType(org.junit.runners.model.TestClass, org.junit.runners.model.FrameworkMethod);
    descriptor: (Lorg/junit/runners/model/TestClass;Lorg/junit/runners/model/FrameworkMethod;)Ljava/lang/Exception;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.junit.runners.model.TestClass testClass
        start local 1 // org.junit.runners.model.FrameworkMethod parametersMethod
         0: .line 486
            aload 0 /* testClass */
            invokevirtual org.junit.runners.model.TestClass.getName:()Ljava/lang/String;
            astore 2 /* className */
        start local 2 // java.lang.String className
         1: .line 487
            aload 1 /* parametersMethod */
            invokevirtual org.junit.runners.model.FrameworkMethod.getName:()Ljava/lang/String;
            astore 3 /* methodName */
        start local 3 // java.lang.String methodName
         2: .line 489
            ldc "{0}.{1}() must return an Iterable of arrays."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* className */
            aastore
            dup
            iconst_1
         3: .line 490
            aload 3 /* methodName */
            aastore
         4: .line 488
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* message */
        start local 4 // java.lang.String message
         5: .line 491
            new java.lang.Exception
            dup
            aload 4 /* message */
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            areturn
        end local 4 // java.lang.String message
        end local 3 // java.lang.String methodName
        end local 2 // java.lang.String className
        end local 1 // org.junit.runners.model.FrameworkMethod parametersMethod
        end local 0 // org.junit.runners.model.TestClass testClass
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0         testClass  Lorg/junit/runners/model/TestClass;
            0    6     1  parametersMethod  Lorg/junit/runners/model/FrameworkMethod;
            1    6     2         className  Ljava/lang/String;
            2    6     3        methodName  Ljava/lang/String;
            5    6     4           message  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                  Name  Flags
      testClass         
      parametersMethod  

  private org.junit.runners.parameterized.TestWithParameters createTestWithParameters(org.junit.runners.model.TestClass, java.lang.String, int, java.lang.Object[]);
    descriptor: (Lorg/junit/runners/model/TestClass;Ljava/lang/String;I[Ljava/lang/Object;)Lorg/junit/runners/parameterized/TestWithParameters;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.junit.runners.Parameterized$RunnersFactory this
        start local 1 // org.junit.runners.model.TestClass testClass
        start local 2 // java.lang.String pattern
        start local 3 // int index
        start local 4 // java.lang.Object[] parameters
         0: .line 497
            aload 2 /* pattern */
            ldc "\\{index\\}"
         1: .line 498
            iload 3 /* index */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
         2: .line 497
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* finalPattern */
        start local 5 // java.lang.String finalPattern
         3: .line 499
            aload 5 /* finalPattern */
            aload 4 /* parameters */
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         4: .line 500
            new org.junit.runners.parameterized.TestWithParameters
            dup
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* testClass */
         5: .line 501
            aload 4 /* parameters */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
         6: .line 500
            invokespecial org.junit.runners.parameterized.TestWithParameters.<init>:(Ljava/lang/String;Lorg/junit/runners/model/TestClass;Ljava/util/List;)V
            areturn
        end local 6 // java.lang.String name
        end local 5 // java.lang.String finalPattern
        end local 4 // java.lang.Object[] parameters
        end local 3 // int index
        end local 2 // java.lang.String pattern
        end local 1 // org.junit.runners.model.TestClass testClass
        end local 0 // org.junit.runners.Parameterized$RunnersFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/junit/runners/Parameterized$RunnersFactory;
            0    7     1     testClass  Lorg/junit/runners/model/TestClass;
            0    7     2       pattern  Ljava/lang/String;
            0    7     3         index  I
            0    7     4    parameters  [Ljava/lang/Object;
            3    7     5  finalPattern  Ljava/lang/String;
            4    7     6          name  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      testClass   
      pattern     
      index       
      parameters  
}
SourceFile: "Parameterized.java"
NestHost: org.junit.runners.Parameterized
InnerClasses:
  private AssumptionViolationRunner = org.junit.runners.Parameterized$AssumptionViolationRunner of org.junit.runners.Parameterized
  public abstract Parameters = org.junit.runners.Parameterized$Parameters of org.junit.runners.Parameterized
  private RunnersFactory = org.junit.runners.Parameterized$RunnersFactory of org.junit.runners.Parameterized
  public abstract UseParametersRunnerFactory = org.junit.runners.Parameterized$UseParametersRunnerFactory of org.junit.runners.Parameterized