public final class org.testng.internal.ClassHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.testng.internal.ClassHelper
  super_class: java.lang.Object
{
  private static final java.lang.String JUNIT_TESTRUNNER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.testng.junit.JUnitTestRunner"

  private static final java.lang.String JUNIT_4_TESTRUNNER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.testng.junit.JUnit4TestRunner"

  private static final java.util.List<java.lang.ClassLoader> classLoaders;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/ClassLoader;>;

  private static final java.lang.String CANNOT_INSTANTIATE_CLASS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Cannot instantiate class "

  private static final java.lang.String CLASS_HELPER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String SKIP_CALLER_CLS_LOADER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "skip.caller.clsLoader"

  private static int lastGoodRootIndex;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 42
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putstatic org.testng.internal.ClassHelper.classLoaders:Ljava/util/List;
         1: .line 44
            ldc Lorg/testng/internal/ClassHelper;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            putstatic org.testng.internal.ClassHelper.CLASS_HELPER:Ljava/lang/String;
         2: .line 55
            iconst_m1
            putstatic org.testng.internal.ClassHelper.lastGoodRootIndex:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.internal.ClassHelper this
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 60
            return
        end local 0 // org.testng.internal.ClassHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/internal/ClassHelper;

  public static void addClassLoader(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.ClassLoader loader
         0: .line 64
            getstatic org.testng.internal.ClassHelper.classLoaders:Ljava/util/List;
            aload 0 /* loader */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 65
            return
        end local 0 // java.lang.ClassLoader loader
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  loader  Ljava/lang/ClassLoader;
    MethodParameters:
        Name  Flags
      loader  final

  public static <T> T newInstance(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 69
            aload 0 /* clazz */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
         1: areturn
         2: .line 70
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* e */
        start local 1 // java.lang.Throwable e
         3: .line 71
            new org.testng.TestNGException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot instantiate class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial org.testng.TestNGException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Throwable e
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  clazz  Ljava/lang/Class<TT;>;
            3    4     1      e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
           0     1       2  Class java.lang.InstantiationException
           0     1       2  Class java.lang.ExceptionInInitializerError
           0     1       2  Class java.lang.SecurityException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
       Name  Flags
      clazz  

  public static <T> T newInstanceOrNull(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 77
            aload 0 /* clazz */
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 1 /* constructor */
        start local 1 // java.lang.reflect.Constructor constructor
         1: .line 78
            aload 1 /* constructor */
            iconst_0
            anewarray java.lang.Object
            invokestatic org.testng.internal.ClassHelper.newInstance:(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;
         2: areturn
        end local 1 // java.lang.reflect.Constructor constructor
         3: .line 79
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* e */
        start local 1 // java.lang.Throwable e
         4: .line 80
            new org.testng.TestNGException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot instantiate class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial org.testng.TestNGException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Throwable e
         5: .line 81
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
         6: .line 82
            aconst_null
            areturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0        clazz  Ljava/lang/Class<TT;>;
            1    3     1  constructor  Ljava/lang/reflect/Constructor<TT;>;
            4    5     1            e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.ExceptionInInitializerError
           0     2       3  Class java.lang.SecurityException
           0     2       5  Class java.lang.NoSuchMethodException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
       Name  Flags
      clazz  

  public static <T> T newInstance(java.lang.reflect.Constructor<T>, []);
    descriptor: (Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.reflect.Constructor constructor
        start local 1 // java.lang.Object[] parameters
         0: .line 88
            aload 0 /* constructor */
            aload 1 /* parameters */
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
         1: areturn
         2: .line 89
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 2 /* e */
        start local 2 // java.lang.ReflectiveOperationException e
         3: .line 90
            new org.testng.TestNGException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot instantiate class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* constructor */
            invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
            invokespecial org.testng.TestNGException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.ReflectiveOperationException e
        end local 1 // java.lang.Object[] parameters
        end local 0 // java.lang.reflect.Constructor constructor
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0  constructor  Ljava/lang/reflect/Constructor<TT;>;
            0    4     1   parameters  [Ljava/lang/Object;
            3    4     2            e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.InstantiationException
           0     1       2  Class java.lang.IllegalAccessException
           0     1       2  Class java.lang.reflect.InvocationTargetException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/reflect/Constructor<TT;>;[Ljava/lang/Object;)TT;
    MethodParameters:
             Name  Flags
      constructor  
      parameters   

  public static java.lang.Class<?> forName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // java.lang.String className
         0: .line 105
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 1 /* allClassLoaders */
        start local 1 // java.util.List allClassLoaders
         1: .line 106
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* contextClassLoader */
        start local 2 // java.lang.ClassLoader contextClassLoader
         2: .line 107
            aload 2 /* contextClassLoader */
            ifnull 4
         3: .line 108
            aload 1 /* allClassLoaders */
            aload 2 /* contextClassLoader */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 110
      StackMap locals: java.util.List java.lang.ClassLoader
      StackMap stack:
            aload 1 /* allClassLoaders */
            getstatic org.testng.internal.ClassHelper.classLoaders:Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         5: .line 112
            aload 1 /* allClassLoaders */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 14
      StackMap locals: java.lang.String java.util.List java.lang.ClassLoader top java.util.Iterator
      StackMap stack:
         6: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            astore 3 /* classLoader */
        start local 3 // java.lang.ClassLoader classLoader
         7: .line 113
            aload 3 /* classLoader */
            ifnonnull 9
         8: .line 114
            goto 14
         9: .line 117
      StackMap locals: java.lang.String java.util.List java.lang.ClassLoader java.lang.ClassLoader java.util.Iterator
      StackMap stack:
            aload 3 /* classLoader */
            aload 0 /* className */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
        10: areturn
        11: .line 119
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 5 /* ex */
        start local 5 // java.lang.ClassNotFoundException ex
        12: .line 121
            getstatic org.testng.internal.ClassHelper.classLoaders:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 14
        13: .line 122
            aload 0 /* className */
            aload 5 /* ex */
            invokestatic org.testng.internal.ClassHelper.logClassNotFoundError:(Ljava/lang/String;Ljava/lang/Exception;)V
        end local 5 // java.lang.ClassNotFoundException ex
        end local 3 // java.lang.ClassLoader classLoader
        14: .line 112
      StackMap locals: java.lang.String java.util.List java.lang.ClassLoader top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        15: .line 126
            ldc "skip.caller.clsLoader"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            ifeq 17
        16: .line 127
            aconst_null
            areturn
        17: .line 131
      StackMap locals: java.lang.String java.util.List java.lang.ClassLoader
      StackMap stack:
            aload 0 /* className */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
        18: areturn
        19: .line 133
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 3 /* cnfe */
        start local 3 // java.lang.ClassNotFoundException cnfe
        20: .line 134
            aload 0 /* className */
            aload 3 /* cnfe */
            invokestatic org.testng.internal.ClassHelper.logClassNotFoundError:(Ljava/lang/String;Ljava/lang/Exception;)V
        21: .line 135
            aconst_null
            areturn
        end local 3 // java.lang.ClassNotFoundException cnfe
        end local 2 // java.lang.ClassLoader contextClassLoader
        end local 1 // java.util.List allClassLoaders
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   22     0           className  Ljava/lang/String;
            1   22     1     allClassLoaders  Ljava/util/List<Ljava/lang/ClassLoader;>;
            2   22     2  contextClassLoader  Ljava/lang/ClassLoader;
            7   14     3         classLoader  Ljava/lang/ClassLoader;
           12   14     5                  ex  Ljava/lang/ClassNotFoundException;
           20   22     3                cnfe  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.ClassNotFoundException
          17    18      19  Class java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
           Name  Flags
      className  final

  private static void logClassNotFoundError(java.lang.String, java.lang.Exception);
    descriptor: (Ljava/lang/String;Ljava/lang/Exception;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.String className
        start local 1 // java.lang.Exception ex
         0: .line 140
            getstatic org.testng.internal.ClassHelper.CLASS_HELPER:Ljava/lang/String;
            iconst_2
            new java.lang.StringBuilder
            dup
            ldc "Could not instantiate "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 141
            ldc " : Class doesn't exist ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* ex */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            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;
         2: .line 140
            invokestatic org.testng.internal.Utils.log:(Ljava/lang/String;ILjava/lang/String;)V
         3: .line 142
            return
        end local 1 // java.lang.Exception ex
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0  className  Ljava/lang/String;
            0    4     1         ex  Ljava/lang/Exception;
    MethodParameters:
           Name  Flags
      className  
      ex         

  public static java.util.List<org.testng.internal.ConstructorOrMethod> findDeclaredFactoryMethods(java.lang.Class<?>, org.testng.internal.annotations.IAnnotationFinder);
    descriptor: (Ljava/lang/Class;Lorg/testng/internal/annotations/IAnnotationFinder;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // java.lang.Class cls
        start local 1 // org.testng.internal.annotations.IAnnotationFinder finder
         0: .line 155
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.List result
         1: .line 157
            aload 0 /* cls */
            invokestatic org.testng.internal.ClassHelper.getAvailableMethods:(Ljava/lang/Class;)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: java.lang.Class org.testng.internal.annotations.IAnnotationFinder java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 3 /* method */
        start local 3 // java.lang.reflect.Method method
         3: .line 158
            aload 1 /* finder */
            aload 3 /* method */
            ldc Lorg/testng/annotations/IFactoryAnnotation;
            invokeinterface org.testng.internal.annotations.IAnnotationFinder.findAnnotation:(Ljava/lang/reflect/Method;Ljava/lang/Class;)Lorg/testng/annotations/IAnnotation;
            checkcast org.testng.annotations.IFactoryAnnotation
            astore 5 /* f */
        start local 5 // org.testng.annotations.IFactoryAnnotation f
         4: .line 159
            aload 5 /* f */
            ifnull 8
         5: .line 160
            new org.testng.internal.ConstructorOrMethod
            dup
            aload 3 /* method */
            invokespecial org.testng.internal.ConstructorOrMethod.<init>:(Ljava/lang/reflect/Method;)V
            astore 6 /* factory */
        start local 6 // org.testng.internal.ConstructorOrMethod factory
         6: .line 161
            aload 6 /* factory */
            aload 5 /* f */
            invokeinterface org.testng.annotations.IFactoryAnnotation.getEnabled:()Z
            invokevirtual org.testng.internal.ConstructorOrMethod.setEnabled:(Z)V
         7: .line 162
            aload 2 /* result */
            aload 6 /* factory */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.testng.internal.ConstructorOrMethod factory
        end local 5 // org.testng.annotations.IFactoryAnnotation f
        end local 3 // java.lang.reflect.Method method
         8: .line 157
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 166
            aload 0 /* cls */
            invokevirtual java.lang.Class.getDeclaredConstructors:()[Ljava/lang/reflect/Constructor;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 17
      StackMap locals: java.lang.Class org.testng.internal.annotations.IAnnotationFinder java.util.List top int int java.lang.reflect.Constructor[]
      StackMap stack:
        10: aload 6
            iload 4
            aaload
            astore 3 /* constructor */
        start local 3 // java.lang.reflect.Constructor constructor
        11: .line 167
            aload 1 /* finder */
            aload 3 /* constructor */
            ldc Lorg/testng/annotations/IFactoryAnnotation;
            invokeinterface org.testng.internal.annotations.IAnnotationFinder.findAnnotation:(Ljava/lang/reflect/Constructor;Ljava/lang/Class;)Lorg/testng/annotations/IAnnotation;
            checkcast org.testng.annotations.IFactoryAnnotation
            astore 7 /* f */
        start local 7 // org.testng.annotations.IFactoryAnnotation f
        12: .line 168
            aload 7 /* f */
            ifnull 16
        13: .line 169
            new org.testng.internal.ConstructorOrMethod
            dup
            aload 3 /* constructor */
            invokespecial org.testng.internal.ConstructorOrMethod.<init>:(Ljava/lang/reflect/Constructor;)V
            astore 8 /* factory */
        start local 8 // org.testng.internal.ConstructorOrMethod factory
        14: .line 170
            aload 8 /* factory */
            aload 7 /* f */
            invokeinterface org.testng.annotations.IFactoryAnnotation.getEnabled:()Z
            invokevirtual org.testng.internal.ConstructorOrMethod.setEnabled:(Z)V
        15: .line 171
            aload 2 /* result */
            aload 8 /* factory */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.testng.internal.ConstructorOrMethod factory
        end local 7 // org.testng.annotations.IFactoryAnnotation f
        end local 3 // java.lang.reflect.Constructor constructor
        16: .line 166
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        17: iload 4
            iload 5
            if_icmplt 10
        18: .line 175
            aload 2 /* result */
            areturn
        end local 2 // java.util.List result
        end local 1 // org.testng.internal.annotations.IAnnotationFinder finder
        end local 0 // java.lang.Class cls
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0          cls  Ljava/lang/Class<*>;
            0   19     1       finder  Lorg/testng/internal/annotations/IAnnotationFinder;
            1   19     2       result  Ljava/util/List<Lorg/testng/internal/ConstructorOrMethod;>;
            3    8     3       method  Ljava/lang/reflect/Method;
            4    8     5            f  Lorg/testng/annotations/IFactoryAnnotation;
            6    8     6      factory  Lorg/testng/internal/ConstructorOrMethod;
           11   16     3  constructor  Ljava/lang/reflect/Constructor;
           12   16     7            f  Lorg/testng/annotations/IFactoryAnnotation;
           14   16     8      factory  Lorg/testng/internal/ConstructorOrMethod;
    Signature: (Ljava/lang/Class<*>;Lorg/testng/internal/annotations/IAnnotationFinder;)Ljava/util/List<Lorg/testng/internal/ConstructorOrMethod;>;
    MethodParameters:
        Name  Flags
      cls     
      finder  

  public static java.util.Set<java.lang.reflect.Method> getAvailableMethods(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 183
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            astore 1 /* methods */
        start local 1 // java.util.Map methods
         1: .line 184
            aload 0 /* clazz */
            invokestatic org.testng.internal.reflect.ReflectionHelper.getLocalMethods:(Ljava/lang/Class;)[Ljava/lang/reflect/Method;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: java.lang.Class java.util.Map top int int java.lang.reflect.Method[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* declaredMethod */
        start local 2 // java.lang.reflect.Method declaredMethod
         3: .line 185
            aload 1 /* methods */
            aload 2 /* declaredMethod */
            invokestatic org.testng.internal.ClassHelper.appendMethod:(Ljava/util/Map;Ljava/lang/reflect/Method;)V
        end local 2 // java.lang.reflect.Method declaredMethod
         4: .line 184
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 188
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 2 /* parent */
        start local 2 // java.lang.Class parent
         7: .line 189
            aload 2 /* parent */
            ifnull 20
         8: .line 190
            goto 19
         9: .line 191
      StackMap locals: java.lang.Class java.util.Map java.lang.Class
      StackMap stack:
            aload 0 /* clazz */
            aload 2 /* parent */
            aload 1 /* methods */
            invokestatic org.testng.internal.ClassHelper.extractMethods:(Ljava/lang/Class;Ljava/lang/Class;Ljava/util/Map;)Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            astore 3 /* extractedMethods */
        start local 3 // java.util.Set extractedMethods
        10: .line 192
            aload 3 /* extractedMethods */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 17
      StackMap locals: java.lang.Class java.util.Map java.lang.Class java.util.Set top java.util.Iterator
      StackMap stack:
        11: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* extractedMethod */
        start local 4 // java.util.Map$Entry extractedMethod
        12: .line 193
            aload 1 /* methods */
            aload 4 /* extractedMethod */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 6 /* m */
        start local 6 // java.util.Set m
        13: .line 194
            aload 6 /* m */
            ifnonnull 16
        14: .line 195
            aload 1 /* methods */
            aload 4 /* extractedMethod */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 4 /* extractedMethod */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Set
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 196
            goto 17
        16: .line 197
      StackMap locals: java.lang.Class java.util.Map java.lang.Class java.util.Set java.util.Map$Entry java.util.Iterator java.util.Set
      StackMap stack:
            aload 6 /* m */
            aload 4 /* extractedMethod */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Collection
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 6 // java.util.Set m
        end local 4 // java.util.Map$Entry extractedMethod
        17: .line 192
      StackMap locals: java.lang.Class java.util.Map java.lang.Class java.util.Set top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        18: .line 200
            aload 2 /* parent */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 2 /* parent */
        end local 3 // java.util.Set extractedMethods
        19: .line 190
      StackMap locals: java.lang.Class java.util.Map java.lang.Class
      StackMap stack:
            ldc Ljava/lang/Object;
            aload 2 /* parent */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 9
        20: .line 204
      StackMap locals:
      StackMap stack:
            invokestatic org.testng.collections.Sets.newHashSet:()Ljava/util/Set;
            astore 3 /* returnValue */
        start local 3 // java.util.Set returnValue
        21: .line 205
            aload 1 /* methods */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 24
      StackMap locals: java.lang.Class java.util.Map java.lang.Class java.util.Set top java.util.Iterator
      StackMap stack:
        22: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Set
            astore 4 /* each */
        start local 4 // java.util.Set each
        23: .line 206
            aload 3 /* returnValue */
            aload 4 /* each */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 4 // java.util.Set each
        24: .line 205
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        25: .line 208
            aload 3 /* returnValue */
            areturn
        end local 3 // java.util.Set returnValue
        end local 2 // java.lang.Class parent
        end local 1 // java.util.Map methods
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   26     0             clazz  Ljava/lang/Class<*>;
            1   26     1           methods  Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/reflect/Method;>;>;
            3    4     2    declaredMethod  Ljava/lang/reflect/Method;
            7   26     2            parent  Ljava/lang/Class<*>;
           10   19     3  extractedMethods  Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Set<Ljava/lang/reflect/Method;>;>;>;
           12   17     4   extractedMethod  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Set<Ljava/lang/reflect/Method;>;>;
           13   17     6                 m  Ljava/util/Set<Ljava/lang/reflect/Method;>;
           21   26     3       returnValue  Ljava/util/Set<Ljava/lang/reflect/Method;>;
           23   24     4              each  Ljava/util/Set<Ljava/lang/reflect/Method;>;
    Signature: (Ljava/lang/Class<*>;)Ljava/util/Set<Ljava/lang/reflect/Method;>;
    MethodParameters:
       Name  Flags
      clazz  

  public static org.testng.junit.IJUnitTestRunner createTestRunner(org.testng.TestRunner);
    descriptor: (Lorg/testng/TestRunner;)Lorg/testng/junit/IJUnitTestRunner;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.testng.TestRunner runner
         0: .line 212
            aconst_null
            astore 1 /* tr */
        start local 1 // org.testng.junit.IJUnitTestRunner tr
         1: .line 215
            ldc "org.junit.Test"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            pop
         2: .line 216
            ldc "org.testng.junit.JUnit4TestRunner"
            invokestatic org.testng.internal.ClassHelper.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* clazz */
        start local 2 // java.lang.Class clazz
         3: .line 217
            aload 2 /* clazz */
            ifnull 18
         4: .line 218
            aload 2 /* clazz */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.testng.junit.IJUnitTestRunner
            astore 1 /* tr */
         5: .line 219
            aload 1 /* tr */
            aload 0 /* runner */
            invokeinterface org.testng.junit.IJUnitTestRunner.setTestResultNotifier:(Lorg/testng/internal/ITestResultNotifier;)V
        end local 2 // java.lang.Class clazz
         6: .line 221
            goto 18
      StackMap locals: org.testng.TestRunner org.testng.junit.IJUnitTestRunner
      StackMap stack: java.lang.Throwable
         7: pop
         8: .line 222
            getstatic org.testng.internal.ClassHelper.CLASS_HELPER:Ljava/lang/String;
            iconst_2
            ldc "JUnit 4 was not found on the classpath"
            invokestatic org.testng.internal.Utils.log:(Ljava/lang/String;ILjava/lang/String;)V
         9: .line 225
            ldc "junit.framework.Test"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            pop
        10: .line 226
            ldc "org.testng.junit.JUnitTestRunner"
            invokestatic org.testng.internal.ClassHelper.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* clazz */
        start local 2 // java.lang.Class clazz
        11: .line 227
            aload 2 /* clazz */
            ifnull 18
        12: .line 228
            aload 2 /* clazz */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.testng.junit.IJUnitTestRunner
            astore 1 /* tr */
        13: .line 229
            aload 1 /* tr */
            aload 0 /* runner */
            invokeinterface org.testng.junit.IJUnitTestRunner.setTestResultNotifier:(Lorg/testng/internal/ITestResultNotifier;)V
        end local 2 // java.lang.Class clazz
        14: .line 231
            goto 18
      StackMap locals:
      StackMap stack: java.lang.Exception
        15: astore 2 /* ex */
        start local 2 // java.lang.Exception ex
        16: .line 232
            getstatic org.testng.internal.ClassHelper.CLASS_HELPER:Ljava/lang/String;
            iconst_2
            ldc "JUnit 3 was not found on the classpath"
            invokestatic org.testng.internal.Utils.log:(Ljava/lang/String;ILjava/lang/String;)V
        17: .line 234
            new org.testng.TestNGException
            dup
            ldc "Cannot create JUnit runner"
            aload 2 /* ex */
            invokespecial org.testng.TestNGException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Exception ex
        18: .line 237
      StackMap locals:
      StackMap stack:
            aload 1 /* tr */
            areturn
        end local 1 // org.testng.junit.IJUnitTestRunner tr
        end local 0 // org.testng.TestRunner runner
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0  runner  Lorg/testng/TestRunner;
            1   19     1      tr  Lorg/testng/junit/IJUnitTestRunner;
            3    6     2   clazz  Ljava/lang/Class<*>;
           11   14     2   clazz  Ljava/lang/Class<*>;
           16   18     2      ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     6       7  Class java.lang.Throwable
           9    14      15  Class java.lang.Exception
    MethodParameters:
        Name  Flags
      runner  

  private static void appendMethod(java.util.Map<java.lang.String, java.util.Set<java.lang.reflect.Method>>, java.lang.reflect.Method);
    descriptor: (Ljava/util/Map;Ljava/lang/reflect/Method;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.Map methods
        start local 1 // java.lang.reflect.Method declaredMethod
         0: .line 241
            aload 0 /* methods */
            aload 1 /* declaredMethod */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 2 /* declaredMethods */
        start local 2 // java.util.Set declaredMethods
         1: .line 242
            aload 2 /* declaredMethods */
            ifnonnull 4
         2: .line 243
            invokestatic org.testng.collections.Sets.newHashSet:()Ljava/util/Set;
            astore 2 /* declaredMethods */
         3: .line 244
            aload 0 /* methods */
            aload 1 /* declaredMethod */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 2 /* declaredMethods */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 246
      StackMap locals: java.util.Set
      StackMap stack:
            aload 2 /* declaredMethods */
            aload 1 /* declaredMethod */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 247
            return
        end local 2 // java.util.Set declaredMethods
        end local 1 // java.lang.reflect.Method declaredMethod
        end local 0 // java.util.Map methods
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0          methods  Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/reflect/Method;>;>;
            0    6     1   declaredMethod  Ljava/lang/reflect/Method;
            1    6     2  declaredMethods  Ljava/util/Set<Ljava/lang/reflect/Method;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/reflect/Method;>;>;Ljava/lang/reflect/Method;)V
    MethodParameters:
                Name  Flags
      methods         
      declaredMethod  

  private static java.util.Map<java.lang.String, java.util.Set<java.lang.reflect.Method>> extractMethods(java.lang.Class<?>, java.lang.Class<?>, java.util.Map<java.lang.String, java.util.Set<java.lang.reflect.Method>>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/util/Map;)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=12, args_size=3
        start local 0 // java.lang.Class childClass
        start local 1 // java.lang.Class clazz
        start local 2 // java.util.Map collected
         0: .line 251
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            astore 3 /* methods */
        start local 3 // java.util.Map methods
         1: .line 253
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
            astore 4 /* declaredMethods */
        start local 4 // java.lang.reflect.Method[] declaredMethods
         2: .line 255
            aload 0 /* childClass */
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            astore 5 /* childPackage */
        start local 5 // java.lang.Package childPackage
         3: .line 256
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            astore 6 /* classPackage */
        start local 6 // java.lang.Package classPackage
         4: .line 257
            aload 5 /* childPackage */
            aload 6 /* classPackage */
            invokestatic org.testng.internal.ClassHelper.isSamePackage:(Ljava/lang/Package;Ljava/lang/Package;)Z
            istore 7 /* isSamePackage */
        start local 7 // boolean isSamePackage
         5: .line 259
            aload 4 /* declaredMethods */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 10
      StackMap locals: java.lang.Class java.lang.Class java.util.Map java.util.Map java.lang.reflect.Method[] java.lang.Package java.lang.Package int top int int java.lang.reflect.Method[]
      StackMap stack:
         6: aload 11
            iload 9
            aaload
            astore 8 /* method */
        start local 8 // java.lang.reflect.Method method
         7: .line 260
            iload 7 /* isSamePackage */
            aload 8 /* method */
            aload 2 /* collected */
            invokestatic org.testng.internal.ClassHelper.canInclude:(ZLjava/lang/reflect/Method;Ljava/util/Map;)Z
            ifeq 9
         8: .line 261
            aload 3 /* methods */
            aload 8 /* method */
            invokestatic org.testng.internal.ClassHelper.appendMethod:(Ljava/util/Map;Ljava/lang/reflect/Method;)V
        end local 8 // java.lang.reflect.Method method
         9: .line 259
      StackMap locals:
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        10: iload 9
            iload 10
            if_icmplt 6
        11: .line 265
            aload 3 /* methods */
            areturn
        end local 7 // boolean isSamePackage
        end local 6 // java.lang.Package classPackage
        end local 5 // java.lang.Package childPackage
        end local 4 // java.lang.reflect.Method[] declaredMethods
        end local 3 // java.util.Map methods
        end local 2 // java.util.Map collected
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.Class childClass
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0       childClass  Ljava/lang/Class<*>;
            0   12     1            clazz  Ljava/lang/Class<*>;
            0   12     2        collected  Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/reflect/Method;>;>;
            1   12     3          methods  Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/reflect/Method;>;>;
            2   12     4  declaredMethods  [Ljava/lang/reflect/Method;
            3   12     5     childPackage  Ljava/lang/Package;
            4   12     6     classPackage  Ljava/lang/Package;
            5   12     7    isSamePackage  Z
            7    9     8           method  Ljava/lang/reflect/Method;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/reflect/Method;>;>;)Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/reflect/Method;>;>;
    MethodParameters:
            Name  Flags
      childClass  
      clazz       
      collected   

  private static boolean canInclude(boolean, java.lang.reflect.Method, java.util.Map<java.lang.String, java.util.Set<java.lang.reflect.Method>>);
    descriptor: (ZLjava/lang/reflect/Method;Ljava/util/Map;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // boolean isSamePackage
        start local 1 // java.lang.reflect.Method method
        start local 2 // java.util.Map collected
         0: .line 269
            aload 1 /* method */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            istore 3 /* methodModifiers */
        start local 3 // int methodModifiers
         1: .line 270
            iload 3 /* methodModifiers */
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifne 4
            iload 3 /* methodModifiers */
            invokestatic java.lang.reflect.Modifier.isProtected:(I)Z
            ifne 4
         2: .line 271
            iload 0 /* isSamePackage */
            ifeq 3
            iload 3 /* methodModifiers */
            invokestatic java.lang.reflect.Modifier.isPrivate:(I)Z
            ifeq 4
         3: .line 270
      StackMap locals: int
      StackMap stack:
            iconst_0
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* visible */
        start local 4 // boolean visible
         6: .line 272
            aload 1 /* method */
            aload 2 /* collected */
            invokestatic org.testng.internal.ClassHelper.isOverridden:(Ljava/lang/reflect/Method;Ljava/util/Map;)Z
            ifne 7
            iload 3 /* methodModifiers */
            invokestatic java.lang.reflect.Modifier.isAbstract:(I)Z
            ifne 7
            iconst_1
            goto 8
      StackMap locals: int
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 5 /* hasNoInheritanceTraits */
        start local 5 // boolean hasNoInheritanceTraits
         9: .line 273
            iload 4 /* visible */
            ifeq 10
            iload 5 /* hasNoInheritanceTraits */
            ifeq 10
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
        10: iconst_0
            ireturn
        end local 5 // boolean hasNoInheritanceTraits
        end local 4 // boolean visible
        end local 3 // int methodModifiers
        end local 2 // java.util.Map collected
        end local 1 // java.lang.reflect.Method method
        end local 0 // boolean isSamePackage
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   11     0           isSamePackage  Z
            0   11     1                  method  Ljava/lang/reflect/Method;
            0   11     2               collected  Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/reflect/Method;>;>;
            1   11     3         methodModifiers  I
            6   11     4                 visible  Z
            9   11     5  hasNoInheritanceTraits  Z
    Signature: (ZLjava/lang/reflect/Method;Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/reflect/Method;>;>;)Z
    MethodParameters:
               Name  Flags
      isSamePackage  
      method         
      collected      

  private static boolean isSamePackage(java.lang.Package, java.lang.Package);
    descriptor: (Ljava/lang/Package;Ljava/lang/Package;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Package childPackage
        start local 1 // java.lang.Package classPackage
         0: .line 277
            iconst_0
            istore 2 /* isSamePackage */
        start local 2 // boolean isSamePackage
         1: .line 279
            aload 0 /* childPackage */
            ifnonnull 3
            aload 1 /* classPackage */
            ifnonnull 3
         2: .line 280
            iconst_1
            istore 2 /* isSamePackage */
         3: .line 282
      StackMap locals: int
      StackMap stack:
            aload 0 /* childPackage */
            ifnull 5
            aload 1 /* classPackage */
            ifnull 5
         4: .line 283
            aload 0 /* childPackage */
            invokevirtual java.lang.Package.getName:()Ljava/lang/String;
            aload 1 /* classPackage */
            invokevirtual java.lang.Package.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            istore 2 /* isSamePackage */
         5: .line 285
      StackMap locals:
      StackMap stack:
            iload 2 /* isSamePackage */
            ireturn
        end local 2 // boolean isSamePackage
        end local 1 // java.lang.Package classPackage
        end local 0 // java.lang.Package childPackage
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0   childPackage  Ljava/lang/Package;
            0    6     1   classPackage  Ljava/lang/Package;
            1    6     2  isSamePackage  Z
    MethodParameters:
              Name  Flags
      childPackage  
      classPackage  

  private static boolean isOverridden(java.lang.reflect.Method, java.util.Map<java.lang.String, java.util.Set<java.lang.reflect.Method>>);
    descriptor: (Ljava/lang/reflect/Method;Ljava/util/Map;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // java.lang.reflect.Method method
        start local 1 // java.util.Map methodsByName
         0: .line 289
            aload 1 /* methodsByName */
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 2 /* collectedMethods */
        start local 2 // java.util.Set collectedMethods
         1: .line 290
            aload 2 /* collectedMethods */
            ifnonnull 3
         2: .line 291
            iconst_0
            ireturn
         3: .line 293
      StackMap locals: java.util.Set
      StackMap stack:
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            astore 3 /* methodClass */
        start local 3 // java.lang.Class methodClass
         4: .line 294
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            astore 4 /* methodParams */
        start local 4 // java.lang.Class[] methodParams
         5: .line 296
            aload 2 /* collectedMethods */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 19
      StackMap locals: java.lang.reflect.Method java.util.Map java.util.Set java.lang.Class java.lang.Class[] top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 5 /* m */
        start local 5 // java.lang.reflect.Method m
         7: .line 297
            aload 5 /* m */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            astore 7 /* paramTypes */
        start local 7 // java.lang.Class[] paramTypes
         8: .line 298
            aload 3 /* methodClass */
            aload 5 /* m */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 19
            aload 4 /* methodParams */
            arraylength
            aload 7 /* paramTypes */
            arraylength
            if_icmpne 19
         9: .line 299
            iconst_1
            istore 8 /* sameParameters */
        start local 8 // boolean sameParameters
        10: .line 300
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        11: goto 16
        12: .line 301
      StackMap locals: java.lang.reflect.Method java.util.Map java.util.Set java.lang.Class java.lang.Class[] java.lang.reflect.Method java.util.Iterator java.lang.Class[] int int
      StackMap stack:
            aload 4 /* methodParams */
            iload 9 /* i */
            aaload
            aload 7 /* paramTypes */
            iload 9 /* i */
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 15
        13: .line 302
            iconst_0
            istore 8 /* sameParameters */
        14: .line 303
            goto 17
        15: .line 300
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 9 /* i */
            aload 4 /* methodParams */
            arraylength
            if_icmplt 12
        end local 9 // int i
        17: .line 307
      StackMap locals:
      StackMap stack:
            iload 8 /* sameParameters */
            ifeq 19
        18: .line 308
            iconst_1
            ireturn
        end local 8 // boolean sameParameters
        end local 7 // java.lang.Class[] paramTypes
        end local 5 // java.lang.reflect.Method m
        19: .line 296
      StackMap locals: java.lang.reflect.Method java.util.Map java.util.Set java.lang.Class java.lang.Class[] top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        20: .line 313
            iconst_0
            ireturn
        end local 4 // java.lang.Class[] methodParams
        end local 3 // java.lang.Class methodClass
        end local 2 // java.util.Set collectedMethods
        end local 1 // java.util.Map methodsByName
        end local 0 // java.lang.reflect.Method method
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   21     0            method  Ljava/lang/reflect/Method;
            0   21     1     methodsByName  Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/reflect/Method;>;>;
            1   21     2  collectedMethods  Ljava/util/Set<Ljava/lang/reflect/Method;>;
            4   21     3       methodClass  Ljava/lang/Class<*>;
            5   21     4      methodParams  [Ljava/lang/Class;
            7   19     5                 m  Ljava/lang/reflect/Method;
            8   19     7        paramTypes  [Ljava/lang/Class;
           10   19     8    sameParameters  Z
           11   17     9                 i  I
    Signature: (Ljava/lang/reflect/Method;Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/reflect/Method;>;>;)Z
    MethodParameters:
               Name  Flags
      method         
      methodsByName  

  public static org.testng.IMethodSelector createSelector(org.testng.xml.XmlMethodSelector);
    descriptor: (Lorg/testng/xml/XmlMethodSelector;)Lorg/testng/IMethodSelector;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.testng.xml.XmlMethodSelector selector
         0: .line 318
            aload 0 /* selector */
            invokevirtual org.testng.xml.XmlMethodSelector.getClassName:()Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* cls */
        start local 1 // java.lang.Class cls
         1: .line 319
            aload 1 /* cls */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.testng.IMethodSelector
         2: areturn
        end local 1 // java.lang.Class cls
         3: .line 321
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* ex */
        start local 1 // java.lang.Exception ex
         4: .line 322
            new org.testng.TestNGException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Couldn't find method selector : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* selector */
            invokevirtual org.testng.xml.XmlMethodSelector.getClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* ex */
            invokespecial org.testng.TestNGException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Exception ex
        end local 0 // org.testng.xml.XmlMethodSelector selector
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  selector  Lorg/testng/xml/XmlMethodSelector;
            1    3     1       cls  Ljava/lang/Class<*>;
            4    5     1        ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      selector  

  public static  createInstance(java.lang.Class<?>, java.util.Map<java.lang.Class<?>, org.testng.IClass>, org.testng.xml.XmlTest, org.testng.internal.annotations.IAnnotationFinder, org.testng.ITestObjectFactory);
    descriptor: (Ljava/lang/Class;Ljava/util/Map;Lorg/testng/xml/XmlTest;Lorg/testng/internal/annotations/IAnnotationFinder;Lorg/testng/ITestObjectFactory;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // java.lang.Class declaringClass
        start local 1 // java.util.Map classes
        start local 2 // org.testng.xml.XmlTest xmlTest
        start local 3 // org.testng.internal.annotations.IAnnotationFinder finder
        start local 4 // org.testng.ITestObjectFactory objectFactory
         0: .line 335
            aload 4 /* objectFactory */
            instanceof org.testng.IObjectFactory
            ifeq 4
         1: .line 336
            aload 0 /* declaringClass */
            aload 1 /* classes */
            aload 2 /* xmlTest */
            aload 3 /* finder */
         2: .line 337
            aload 4 /* objectFactory */
            checkcast org.testng.IObjectFactory
         3: .line 336
            invokestatic org.testng.internal.ClassHelper.createInstance1:(Ljava/lang/Class;Ljava/util/Map;Lorg/testng/xml/XmlTest;Lorg/testng/internal/annotations/IAnnotationFinder;Lorg/testng/IObjectFactory;)Ljava/lang/Object;
            areturn
         4: .line 338
      StackMap locals:
      StackMap stack:
            aload 4 /* objectFactory */
            instanceof org.testng.IObjectFactory2
            ifeq 6
         5: .line 339
            aload 0 /* declaringClass */
            aload 4 /* objectFactory */
            checkcast org.testng.IObjectFactory2
            invokestatic org.testng.internal.ClassHelper.createInstance2:(Ljava/lang/Class;Lorg/testng/IObjectFactory2;)Ljava/lang/Object;
            areturn
         6: .line 341
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown object factory type:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* objectFactory */
            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
        end local 4 // org.testng.ITestObjectFactory objectFactory
        end local 3 // org.testng.internal.annotations.IAnnotationFinder finder
        end local 2 // org.testng.xml.XmlTest xmlTest
        end local 1 // java.util.Map classes
        end local 0 // java.lang.Class declaringClass
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0  declaringClass  Ljava/lang/Class<*>;
            0    7     1         classes  Ljava/util/Map<Ljava/lang/Class<*>;Lorg/testng/IClass;>;
            0    7     2         xmlTest  Lorg/testng/xml/XmlTest;
            0    7     3          finder  Lorg/testng/internal/annotations/IAnnotationFinder;
            0    7     4   objectFactory  Lorg/testng/ITestObjectFactory;
    Signature: (Ljava/lang/Class<*>;Ljava/util/Map<Ljava/lang/Class<*>;Lorg/testng/IClass;>;Lorg/testng/xml/XmlTest;Lorg/testng/internal/annotations/IAnnotationFinder;Lorg/testng/ITestObjectFactory;)Ljava/lang/Object;
    MethodParameters:
                Name  Flags
      declaringClass  
      classes         
      xmlTest         
      finder          
      objectFactory   

  private static  createInstance2(java.lang.Class<?>, org.testng.IObjectFactory2);
    descriptor: (Ljava/lang/Class;Lorg/testng/IObjectFactory2;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Class declaringClass
        start local 1 // org.testng.IObjectFactory2 objectFactory
         0: .line 346
            aload 1 /* objectFactory */
            aload 0 /* declaringClass */
            invokeinterface org.testng.IObjectFactory2.newInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 1 // org.testng.IObjectFactory2 objectFactory
        end local 0 // java.lang.Class declaringClass
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  declaringClass  Ljava/lang/Class<*>;
            0    1     1   objectFactory  Lorg/testng/IObjectFactory2;
    Signature: (Ljava/lang/Class<*>;Lorg/testng/IObjectFactory2;)Ljava/lang/Object;
    MethodParameters:
                Name  Flags
      declaringClass  
      objectFactory   

  public static  createInstance1(java.lang.Class<?>, java.util.Map<java.lang.Class<?>, org.testng.IClass>, org.testng.xml.XmlTest, org.testng.internal.annotations.IAnnotationFinder, org.testng.IObjectFactory);
    descriptor: (Ljava/lang/Class;Ljava/util/Map;Lorg/testng/xml/XmlTest;Lorg/testng/internal/annotations/IAnnotationFinder;Lorg/testng/IObjectFactory;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=14, args_size=5
        start local 0 // java.lang.Class declaringClass
        start local 1 // java.util.Map classes
        start local 2 // org.testng.xml.XmlTest xmlTest
        start local 3 // org.testng.internal.annotations.IAnnotationFinder finder
        start local 4 // org.testng.IObjectFactory objectFactory
         0: .line 354
            aconst_null
            astore 5 /* result */
        start local 5 // java.lang.Object result
         1: .line 361
            aload 3 /* finder */
            aload 0 /* declaringClass */
            invokestatic org.testng.internal.ClassHelper.findAnnotatedConstructor:(Lorg/testng/internal/annotations/IAnnotationFinder;Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 6 /* constructor */
        start local 6 // java.lang.reflect.Constructor constructor
         2: .line 362
            aload 6 /* constructor */
            ifnull 15
         3: .line 363
            aload 3 /* finder */
            aload 6 /* constructor */
            ldc Lorg/testng/annotations/IParametersAnnotation;
            invokeinterface org.testng.internal.annotations.IAnnotationFinder.findAnnotation:(Ljava/lang/reflect/Constructor;Ljava/lang/Class;)Lorg/testng/annotations/IAnnotation;
            checkcast org.testng.annotations.IParametersAnnotation
            astore 7 /* parametersAnnotation */
        start local 7 // org.testng.annotations.IParametersAnnotation parametersAnnotation
         4: .line 364
            aload 7 /* parametersAnnotation */
            ifnull 48
         5: .line 365
            aload 7 /* parametersAnnotation */
            invokeinterface org.testng.annotations.IParametersAnnotation.getValue:()[Ljava/lang/String;
            astore 8 /* parameterNames */
        start local 8 // java.lang.String[] parameterNames
         6: .line 366
            aload 6 /* constructor */
         7: .line 367
            ldc "@Parameters"
         8: .line 368
            aload 3 /* finder */
         9: .line 369
            aload 8 /* parameterNames */
        10: .line 370
            aload 2 /* xmlTest */
            invokevirtual org.testng.xml.XmlTest.getAllParameters:()Ljava/util/Map;
        11: .line 371
            aload 2 /* xmlTest */
            invokevirtual org.testng.xml.XmlTest.getSuite:()Lorg/testng/xml/XmlSuite;
        12: .line 366
            invokestatic org.testng.internal.Parameters.createInstantiationParameters:(Ljava/lang/reflect/Constructor;Ljava/lang/String;Lorg/testng/internal/annotations/IAnnotationFinder;[Ljava/lang/String;Ljava/util/Map;Lorg/testng/xml/XmlSuite;)[Ljava/lang/Object;
            astore 9 /* parameters */
        start local 9 // java.lang.Object[] parameters
        13: .line 372
            aload 4 /* objectFactory */
            aload 6 /* constructor */
            aload 9 /* parameters */
            invokeinterface org.testng.IObjectFactory.newInstance:(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* result */
        end local 9 // java.lang.Object[] parameters
        end local 8 // java.lang.String[] parameterNames
        end local 7 // org.testng.annotations.IParametersAnnotation parametersAnnotation
        14: .line 374
            goto 48
        15: .line 384
      StackMap locals: java.lang.Object java.lang.reflect.Constructor
      StackMap stack:
            iconst_0
            anewarray java.lang.Class
            astore 7 /* parameterTypes */
        start local 7 // java.lang.Class[] parameterTypes
        16: .line 385
            iconst_0
            anewarray java.lang.Object
            astore 8 /* parameters */
        start local 8 // java.lang.Object[] parameters
        17: .line 386
            aload 0 /* declaringClass */
            invokestatic org.testng.internal.ClassHelper.getEnclosingClass:(Ljava/lang/Class;)Ljava/lang/Class;
            astore 9 /* ec */
        start local 9 // java.lang.Class ec
        18: .line 387
            aload 0 /* declaringClass */
            invokevirtual java.lang.Class.getModifiers:()I
            bipush 8
            iand
            ifeq 19
            iconst_1
            goto 20
      StackMap locals: java.lang.Class[] java.lang.Object[] java.lang.Class
      StackMap stack:
        19: iconst_0
      StackMap locals:
      StackMap stack: int
        20: istore 10 /* isStatic */
        start local 10 // boolean isStatic
        21: .line 390
            aload 9 /* ec */
            ifnull 34
            iload 10 /* isStatic */
            ifne 34
        22: .line 391
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 9 /* ec */
            aastore
            astore 7 /* parameterTypes */
        23: .line 395
            aload 1 /* classes */
            aload 9 /* ec */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.testng.IClass
            astore 11 /* enclosingIClass */
        start local 11 // org.testng.IClass enclosingIClass
        24: .line 397
            aload 11 /* enclosingIClass */
            ifnull 31
        25: .line 398
            aload 11 /* enclosingIClass */
            iconst_0
            invokeinterface org.testng.IClass.getInstances:(Z)[Ljava/lang/Object;
            astore 12 /* enclosingInstances */
        start local 12 // java.lang.Object[] enclosingInstances
        26: .line 399
            aload 12 /* enclosingInstances */
            ifnull 27
            aload 12 /* enclosingInstances */
            arraylength
            ifne 32
        27: .line 400
      StackMap locals: int org.testng.IClass java.lang.Object[]
      StackMap stack:
            aload 4 /* objectFactory */
            aload 9 /* ec */
            aload 7 /* parameterTypes */
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.testng.IObjectFactory.newInstance:(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 13 /* o */
        start local 13 // java.lang.Object o
        28: .line 401
            aload 11 /* enclosingIClass */
            aload 13 /* o */
            invokeinterface org.testng.IClass.addInstance:(Ljava/lang/Object;)V
        29: .line 402
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* o */
            aastore
            astore 12 /* enclosingInstances */
        end local 13 // java.lang.Object o
        30: .line 404
            goto 32
        end local 12 // java.lang.Object[] enclosingInstances
        31: .line 406
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* ec */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            aastore
            astore 12 /* enclosingInstances */
        start local 12 // java.lang.Object[] enclosingInstances
        32: .line 408
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 12 /* enclosingInstances */
            iconst_0
            aaload
            astore 13 /* enclosingClassInstance */
        start local 13 // java.lang.Object enclosingClassInstance
        33: .line 410
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* enclosingClassInstance */
            aastore
            astore 8 /* parameters */
        end local 13 // java.lang.Object enclosingClassInstance
        end local 12 // java.lang.Object[] enclosingInstances
        end local 11 // org.testng.IClass enclosingIClass
        34: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* declaringClass */
            aload 7 /* parameterTypes */
            invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 11 /* ct */
        start local 11 // java.lang.reflect.Constructor ct
        35: .line 416
            goto 39
        end local 11 // java.lang.reflect.Constructor ct
        36: .line 417
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        37: .line 418
            aload 0 /* declaringClass */
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 11 /* ct */
        start local 11 // java.lang.reflect.Constructor ct
        38: .line 419
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* xmlTest */
            invokevirtual org.testng.xml.XmlTest.getName:()Ljava/lang/String;
            aastore
            astore 8 /* parameters */
        39: .line 423
      StackMap locals: java.lang.reflect.Constructor
      StackMap stack:
            aload 4 /* objectFactory */
            aload 11 /* ct */
            aload 8 /* parameters */
            invokeinterface org.testng.IObjectFactory.newInstance:(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* result */
        end local 11 // java.lang.reflect.Constructor ct
        end local 10 // boolean isStatic
        end local 9 // java.lang.Class ec
        end local 8 // java.lang.Object[] parameters
        end local 7 // java.lang.Class[] parameterTypes
        end local 6 // java.lang.reflect.Constructor constructor
        40: .line 425
            goto 48
        41: .line 426
      StackMap locals: java.lang.Class java.util.Map org.testng.xml.XmlTest org.testng.internal.annotations.IAnnotationFinder org.testng.IObjectFactory java.lang.Object
      StackMap stack: org.testng.TestNGException
            astore 6 /* ex */
        start local 6 // org.testng.TestNGException ex
        42: .line 427
            aload 6 /* ex */
            athrow
        end local 6 // org.testng.TestNGException ex
        43: .line 429
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
            goto 48
        44: .line 432
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6 /* cause */
        start local 6 // java.lang.Throwable cause
        45: .line 434
            new org.testng.TestNGException
            dup
            new java.lang.StringBuilder
            dup
            ldc "An error occurred while instantiating class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        46: .line 435
            aload 0 /* declaringClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* cause */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* cause */
        47: .line 434
            invokespecial org.testng.TestNGException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Throwable cause
        48: .line 438
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            ifnonnull 52
            aload 0 /* declaringClass */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifne 52
        49: .line 440
            new org.testng.TestNGException
            dup
            new java.lang.StringBuilder
            dup
            ldc "An error occurred while instantiating class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        50: .line 441
            aload 0 /* declaringClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ". Check to make sure it can be accessed/instantiated."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        51: .line 440
            invokespecial org.testng.TestNGException.<init>:(Ljava/lang/String;)V
            athrow
        52: .line 444
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            areturn
        end local 5 // java.lang.Object result
        end local 4 // org.testng.IObjectFactory objectFactory
        end local 3 // org.testng.internal.annotations.IAnnotationFinder finder
        end local 2 // org.testng.xml.XmlTest xmlTest
        end local 1 // java.util.Map classes
        end local 0 // java.lang.Class declaringClass
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   53     0          declaringClass  Ljava/lang/Class<*>;
            0   53     1                 classes  Ljava/util/Map<Ljava/lang/Class<*>;Lorg/testng/IClass;>;
            0   53     2                 xmlTest  Lorg/testng/xml/XmlTest;
            0   53     3                  finder  Lorg/testng/internal/annotations/IAnnotationFinder;
            0   53     4           objectFactory  Lorg/testng/IObjectFactory;
            1   53     5                  result  Ljava/lang/Object;
            2   40     6             constructor  Ljava/lang/reflect/Constructor<*>;
            4   14     7    parametersAnnotation  Lorg/testng/annotations/IParametersAnnotation;
            6   14     8          parameterNames  [Ljava/lang/String;
           13   14     9              parameters  [Ljava/lang/Object;
           16   40     7          parameterTypes  [Ljava/lang/Class;
           17   40     8              parameters  [Ljava/lang/Object;
           18   40     9                      ec  Ljava/lang/Class<*>;
           21   40    10                isStatic  Z
           24   34    11         enclosingIClass  Lorg/testng/IClass;
           26   31    12      enclosingInstances  [Ljava/lang/Object;
           32   34    12      enclosingInstances  [Ljava/lang/Object;
           28   30    13                       o  Ljava/lang/Object;
           33   34    13  enclosingClassInstance  Ljava/lang/Object;
           35   36    11                      ct  Ljava/lang/reflect/Constructor<*>;
           38   40    11                      ct  Ljava/lang/reflect/Constructor<*>;
           42   43     6                      ex  Lorg/testng/TestNGException;
           45   48     6                   cause  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          34    35      36  Class java.lang.NoSuchMethodException
           1    40      41  Class org.testng.TestNGException
           1    40      43  Class java.lang.NoSuchMethodException
           1    40      44  Class java.lang.Throwable
    Signature: (Ljava/lang/Class<*>;Ljava/util/Map<Ljava/lang/Class<*>;Lorg/testng/IClass;>;Lorg/testng/xml/XmlTest;Lorg/testng/internal/annotations/IAnnotationFinder;Lorg/testng/IObjectFactory;)Ljava/lang/Object;
    MethodParameters:
                Name  Flags
      declaringClass  
      classes         
      xmlTest         
      finder          
      objectFactory   

  private static java.lang.Class<?> getEnclosingClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // java.lang.Class declaringClass
         0: .line 452
            aconst_null
            astore 1 /* result */
        start local 1 // java.lang.Class result
         1: .line 454
            aload 0 /* declaringClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 2 /* className */
        start local 2 // java.lang.String className
         2: .line 455
            aload 2 /* className */
            bipush 36
            invokevirtual java.lang.String.indexOf:(I)I
            istore 3 /* index */
        start local 3 // int index
         3: .line 456
            iload 3 /* index */
            iconst_m1
            if_icmpeq 9
         4: .line 457
            aload 2 /* className */
            iconst_0
            iload 3 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* ecn */
        start local 4 // java.lang.String ecn
         5: .line 459
            aload 4 /* ecn */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* result */
         6: .line 460
            goto 9
         7: .line 461
      StackMap locals: java.lang.Class java.lang.Class java.lang.String int java.lang.String
      StackMap stack: java.lang.ClassNotFoundException
            astore 5 /* e */
        start local 5 // java.lang.ClassNotFoundException e
         8: .line 462
            ldc Lorg/testng/internal/ClassHelper;
            invokestatic org.testng.log4testng.Logger.getLogger:(Ljava/lang/Class;)Lorg/testng/log4testng/Logger;
            aload 5 /* e */
            invokevirtual java.lang.ClassNotFoundException.getMessage:()Ljava/lang/String;
            aload 5 /* e */
            invokevirtual org.testng.log4testng.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 5 // java.lang.ClassNotFoundException e
        end local 4 // java.lang.String ecn
         9: .line 466
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 3 // int index
        end local 2 // java.lang.String className
        end local 1 // java.lang.Class result
        end local 0 // java.lang.Class declaringClass
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0  declaringClass  Ljava/lang/Class<*>;
            1   10     1          result  Ljava/lang/Class<*>;
            2   10     2       className  Ljava/lang/String;
            3   10     3           index  I
            5    9     4             ecn  Ljava/lang/String;
            8    9     5               e  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.ClassNotFoundException
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
    MethodParameters:
                Name  Flags
      declaringClass  

  private static java.lang.reflect.Constructor<?> findAnnotatedConstructor(org.testng.internal.annotations.IAnnotationFinder, java.lang.Class<?>);
    descriptor: (Lorg/testng/internal/annotations/IAnnotationFinder;Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // org.testng.internal.annotations.IAnnotationFinder finder
        start local 1 // java.lang.Class declaringClass
         0: .line 474
            aload 1 /* declaringClass */
            invokevirtual java.lang.Class.getDeclaredConstructors:()[Ljava/lang/reflect/Constructor;
            astore 2 /* constructors */
        start local 2 // java.lang.reflect.Constructor[] constructors
         1: .line 476
            aload 2 /* constructors */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 18
      StackMap locals: org.testng.internal.annotations.IAnnotationFinder java.lang.Class java.lang.reflect.Constructor[] top int int java.lang.reflect.Constructor[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* result */
        start local 3 // java.lang.reflect.Constructor result
         3: .line 477
            aload 0 /* finder */
            aload 3 /* result */
            ldc Lorg/testng/annotations/IParametersAnnotation;
            invokeinterface org.testng.internal.annotations.IAnnotationFinder.findAnnotation:(Ljava/lang/reflect/Constructor;Ljava/lang/Class;)Lorg/testng/annotations/IAnnotation;
            checkcast org.testng.annotations.IParametersAnnotation
            astore 7 /* parametersAnnotation */
        start local 7 // org.testng.annotations.IParametersAnnotation parametersAnnotation
         4: .line 478
            aload 7 /* parametersAnnotation */
            ifnull 14
         5: .line 479
            aload 7 /* parametersAnnotation */
            invokeinterface org.testng.annotations.IParametersAnnotation.getValue:()[Ljava/lang/String;
            astore 8 /* parameters */
        start local 8 // java.lang.String[] parameters
         6: .line 480
            aload 3 /* result */
            invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
            astore 9 /* parameterTypes */
        start local 9 // java.lang.Class[] parameterTypes
         7: .line 481
            aload 8 /* parameters */
            arraylength
            aload 9 /* parameterTypes */
            arraylength
            if_icmpeq 13
         8: .line 482
            new org.testng.TestNGException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Parameter count mismatch:  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* result */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\naccepts "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 483
            aload 9 /* parameterTypes */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        10: .line 484
            ldc " parameters but the @Test annotation declares "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 485
            aload 8 /* parameters */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 482
            invokespecial org.testng.TestNGException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 487
      StackMap locals: org.testng.internal.annotations.IAnnotationFinder java.lang.Class java.lang.reflect.Constructor[] java.lang.reflect.Constructor int int java.lang.reflect.Constructor[] org.testng.annotations.IParametersAnnotation java.lang.String[] java.lang.Class[]
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 9 // java.lang.Class[] parameterTypes
        end local 8 // java.lang.String[] parameters
        14: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* finder */
            aload 3 /* result */
            ldc Lorg/testng/annotations/IFactoryAnnotation;
            invokeinterface org.testng.internal.annotations.IAnnotationFinder.findAnnotation:(Ljava/lang/reflect/Constructor;Ljava/lang/Class;)Lorg/testng/annotations/IAnnotation;
            checkcast org.testng.annotations.IFactoryAnnotation
            astore 8 /* factoryAnnotation */
        start local 8 // org.testng.annotations.IFactoryAnnotation factoryAnnotation
        15: .line 491
            aload 8 /* factoryAnnotation */
            ifnull 17
        16: .line 492
            aload 3 /* result */
            areturn
        end local 8 // org.testng.annotations.IFactoryAnnotation factoryAnnotation
        end local 7 // org.testng.annotations.IParametersAnnotation parametersAnnotation
        end local 3 // java.lang.reflect.Constructor result
        17: .line 476
      StackMap locals: org.testng.internal.annotations.IAnnotationFinder java.lang.Class java.lang.reflect.Constructor[] top int int java.lang.reflect.Constructor[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        18: iload 4
            iload 5
            if_icmplt 2
        19: .line 496
            aconst_null
            areturn
        end local 2 // java.lang.reflect.Constructor[] constructors
        end local 1 // java.lang.Class declaringClass
        end local 0 // org.testng.internal.annotations.IAnnotationFinder finder
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   20     0                finder  Lorg/testng/internal/annotations/IAnnotationFinder;
            0   20     1        declaringClass  Ljava/lang/Class<*>;
            1   20     2          constructors  [Ljava/lang/reflect/Constructor;
            3   17     3                result  Ljava/lang/reflect/Constructor<*>;
            4   17     7  parametersAnnotation  Lorg/testng/annotations/IParametersAnnotation;
            6   14     8            parameters  [Ljava/lang/String;
            7   14     9        parameterTypes  [Ljava/lang/Class;
           15   17     8     factoryAnnotation  Lorg/testng/annotations/IFactoryAnnotation;
    Signature: (Lorg/testng/internal/annotations/IAnnotationFinder;Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<*>;
    MethodParameters:
                Name  Flags
      finder          
      declaringClass  

  public static <T> T tryOtherConstructor(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.lang.Class declaringClass
         0: .line 503
            aload 0 /* declaringClass */
            invokevirtual java.lang.Class.getModifiers:()I
            ifne 2
         1: .line 504
            aconst_null
            areturn
         2: .line 507
      StackMap locals:
      StackMap stack:
            aload 0 /* declaringClass */
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 2 /* ctor */
        start local 2 // java.lang.reflect.Constructor ctor
         3: .line 508
            aload 2 /* ctor */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "Default test name"
            aastore
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* result */
        end local 2 // java.lang.reflect.Constructor ctor
        start local 1 // java.lang.Object result
         4: .line 509
            goto 16
        end local 1 // java.lang.Object result
         5: .line 510
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         6: .line 511
            aload 2 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            astore 3 /* message */
        start local 3 // java.lang.String message
         7: .line 512
            aload 3 /* message */
            ifnonnull 9
            aload 2 /* e */
            invokevirtual java.lang.Exception.getCause:()Ljava/lang/Throwable;
            ifnull 9
         8: .line 513
            aload 2 /* e */
            invokevirtual java.lang.Exception.getCause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            astore 3 /* message */
         9: .line 515
      StackMap locals: java.lang.Class top java.lang.Exception java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Could not create an instance of class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* declaringClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        10: .line 516
            aload 3 /* message */
            ifnull 11
            new java.lang.StringBuilder
            dup
            ldc ": "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 12
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        11: ldc ""
      StackMap locals: java.lang.Class top java.lang.Exception java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.String
        12: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 517
            ldc ".\nPlease make sure it has a constructor that accepts either a String or no parameter."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 515
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* error */
        start local 4 // java.lang.String error
        15: .line 518
            new org.testng.TestNGException
            dup
            aload 4 /* error */
            invokespecial org.testng.TestNGException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String error
        end local 3 // java.lang.String message
        end local 2 // java.lang.Exception e
        start local 1 // java.lang.Object result
        16: .line 521
      StackMap locals: java.lang.Class java.lang.Object
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.lang.Object result
        end local 0 // java.lang.Class declaringClass
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0  declaringClass  Ljava/lang/Class<TT;>;
            4    5     1          result  TT;
           16   17     1          result  TT;
            3    4     2            ctor  Ljava/lang/reflect/Constructor<TT;>;
            6   16     2               e  Ljava/lang/Exception;
            7   16     3         message  Ljava/lang/String;
           15   16     4           error  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       5  Class java.lang.Exception
           2     4       5  Class java.lang.Exception
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
                Name  Flags
      declaringClass  

  public static java.lang.Class<?> fileToClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // java.lang.String file
         0: .line 539
            aconst_null
            astore 1 /* result */
        start local 1 // java.lang.Class result
         1: .line 541
            aload 0 /* file */
            ldc ".class"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 8
            aload 0 /* file */
            ldc ".java"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 8
         2: .line 544
            aload 0 /* file */
            ldc "class "
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 545
            aload 0 /* file */
            ldc "class "
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 0 /* file */
         4: .line 548
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* file */
            invokestatic org.testng.internal.ClassHelper.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* result */
         5: .line 550
            aload 1 /* result */
            ifnonnull 7
         6: .line 551
            new org.testng.TestNGException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot load class from file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.testng.TestNGException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 554
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            areturn
         8: .line 557
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            ldc ".class"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 2 /* classIndex */
        start local 2 // int classIndex
         9: .line 558
            iconst_m1
            iload 2 /* classIndex */
            if_icmpne 11
        10: .line 559
            aload 0 /* file */
            ldc ".java"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 2 /* classIndex */
        11: .line 565
      StackMap locals: int
      StackMap stack:
            aload 0 /* file */
            iconst_0
            iload 2 /* classIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* shortFileName */
        start local 3 // java.lang.String shortFileName
        12: .line 568
            aload 3 /* shortFileName */
            ldc "[/\\\\]"
            iconst_m1
            invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
            astore 4 /* segments */
        start local 4 // java.lang.String[] segments
        13: .line 576
            iconst_m1
            getstatic org.testng.internal.ClassHelper.lastGoodRootIndex:I
            if_icmpeq 23
        14: .line 578
            new java.lang.StringBuilder
            dup
            aload 4 /* segments */
            getstatic org.testng.internal.ClassHelper.lastGoodRootIndex:I
            aaload
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 5 /* className */
        start local 5 // java.lang.StringBuilder className
        15: .line 579
            getstatic org.testng.internal.ClassHelper.lastGoodRootIndex:I
            iconst_1
            iadd
            istore 6 /* i */
        start local 6 // int i
        16: goto 19
        17: .line 580
      StackMap locals: java.lang.String java.lang.Class int java.lang.String java.lang.String[] java.lang.StringBuilder int
      StackMap stack:
            aload 5 /* className */
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* segments */
            iload 6 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 579
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 6 /* i */
            aload 4 /* segments */
            arraylength
            if_icmplt 17
        end local 6 // int i
        20: .line 583
            aload 5 /* className */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.testng.internal.ClassHelper.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* result */
        21: .line 585
            aload 1 /* result */
            ifnull 23
        22: .line 586
            aload 1 /* result */
            areturn
        end local 5 // java.lang.StringBuilder className
        23: .line 597
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 5 /* className */
        start local 5 // java.lang.String className
        24: .line 598
            aload 4 /* segments */
            arraylength
            iconst_1
            isub
            istore 6 /* i */
        start local 6 // int i
        25: goto 35
        26: .line 599
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 5 /* className */
            invokevirtual java.lang.String.length:()I
            ifne 29
        27: .line 600
            aload 4 /* segments */
            iload 6 /* i */
            aaload
            astore 5 /* className */
        28: .line 601
            goto 30
        29: .line 603
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 4 /* segments */
            iload 6 /* i */
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* className */
        30: .line 606
      StackMap locals:
      StackMap stack:
            aload 5 /* className */
            invokestatic org.testng.internal.ClassHelper.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* result */
        31: .line 608
            aload 1 /* result */
            ifnull 34
        32: .line 609
            iload 6 /* i */
            putstatic org.testng.internal.ClassHelper.lastGoodRootIndex:I
        33: .line 610
            goto 36
        34: .line 598
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ -1
      StackMap locals:
      StackMap stack:
        35: iload 6 /* i */
            ifge 26
        end local 6 // int i
        36: .line 614
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            ifnonnull 38
        37: .line 615
            new org.testng.TestNGException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot load class from file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.testng.TestNGException.<init>:(Ljava/lang/String;)V
            athrow
        38: .line 618
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 5 // java.lang.String className
        end local 4 // java.lang.String[] segments
        end local 3 // java.lang.String shortFileName
        end local 2 // int classIndex
        end local 1 // java.lang.Class result
        end local 0 // java.lang.String file
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   39     0           file  Ljava/lang/String;
            1   39     1         result  Ljava/lang/Class<*>;
            9   39     2     classIndex  I
           12   39     3  shortFileName  Ljava/lang/String;
           13   39     4       segments  [Ljava/lang/String;
           15   23     5      className  Ljava/lang/StringBuilder;
           16   20     6              i  I
           24   39     5      className  Ljava/lang/String;
           25   36     6              i  I
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      file  

  public static org.testng.xml.XmlClass[] findClassesInSameTest(java.lang.Class<?>, org.testng.xml.XmlSuite);
    descriptor: (Ljava/lang/Class;Lorg/testng/xml/XmlSuite;)[Lorg/testng/xml/XmlClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.lang.Class cls
        start local 1 // org.testng.xml.XmlSuite suite
         0: .line 627
            invokestatic org.testng.collections.Sets.newHashSet:()Ljava/util/Set;
            astore 2 /* vResult */
        start local 2 // java.util.Collection vResult
         1: .line 628
            aload 1 /* suite */
            invokevirtual org.testng.xml.XmlSuite.getTests:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: java.lang.Class org.testng.xml.XmlSuite java.util.Collection top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlTest
            astore 3 /* test */
        start local 3 // org.testng.xml.XmlTest test
         3: .line 629
            aload 2 /* vResult */
            aload 0 /* cls */
            aload 3 /* test */
            invokestatic org.testng.internal.ClassHelper.findClassesInSameTest:(Ljava/lang/Class;Lorg/testng/xml/XmlTest;)Ljava/util/Collection;
            invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
            pop
        end local 3 // org.testng.xml.XmlTest test
         4: .line 628
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 632
            aload 2 /* vResult */
            aload 2 /* vResult */
            invokeinterface java.util.Collection.size:()I
            anewarray org.testng.xml.XmlClass
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.testng.xml.XmlClass[]
            areturn
        end local 2 // java.util.Collection vResult
        end local 1 // org.testng.xml.XmlSuite suite
        end local 0 // java.lang.Class cls
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0      cls  Ljava/lang/Class<*>;
            0    6     1    suite  Lorg/testng/xml/XmlSuite;
            1    6     2  vResult  Ljava/util/Collection<Lorg/testng/xml/XmlClass;>;
            3    4     3     test  Lorg/testng/xml/XmlTest;
    Signature: (Ljava/lang/Class<*>;Lorg/testng/xml/XmlSuite;)[Lorg/testng/xml/XmlClass;
    MethodParameters:
       Name  Flags
      cls    
      suite  

  private static java.util.Collection<org.testng.xml.XmlClass> findClassesInSameTest(java.lang.Class<?>, org.testng.xml.XmlTest);
    descriptor: (Ljava/lang/Class;Lorg/testng/xml/XmlTest;)Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.lang.Class cls
        start local 1 // org.testng.xml.XmlTest xmlTest
         0: .line 636
            invokestatic org.testng.collections.Sets.newHashSet:()Ljava/util/Set;
            astore 2 /* vResult */
        start local 2 // java.util.Collection vResult
         1: .line 637
            aload 0 /* cls */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* className */
        start local 3 // java.lang.String className
         2: .line 638
            aload 1 /* xmlTest */
            invokevirtual org.testng.xml.XmlTest.getXmlClasses:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: java.lang.Class org.testng.xml.XmlTest java.util.Collection java.lang.String top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlClass
            astore 4 /* testClass */
        start local 4 // org.testng.xml.XmlClass testClass
         4: .line 639
            aload 4 /* testClass */
            invokevirtual org.testng.xml.XmlClass.getName:()Ljava/lang/String;
            aload 3 /* className */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 641
            aload 2 /* vResult */
            aload 1 /* xmlTest */
            invokevirtual org.testng.xml.XmlTest.getXmlClasses:()Ljava/util/List;
            invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
            pop
         6: .line 642
            goto 8
        end local 4 // org.testng.xml.XmlClass testClass
         7: .line 638
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 646
      StackMap locals: java.lang.Class org.testng.xml.XmlTest java.util.Collection java.lang.String
      StackMap stack:
            aload 2 /* vResult */
            areturn
        end local 3 // java.lang.String className
        end local 2 // java.util.Collection vResult
        end local 1 // org.testng.xml.XmlTest xmlTest
        end local 0 // java.lang.Class cls
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0        cls  Ljava/lang/Class<*>;
            0    9     1    xmlTest  Lorg/testng/xml/XmlTest;
            1    9     2    vResult  Ljava/util/Collection<Lorg/testng/xml/XmlClass;>;
            2    9     3  className  Ljava/lang/String;
            4    7     4  testClass  Lorg/testng/xml/XmlClass;
    Signature: (Ljava/lang/Class<*>;Lorg/testng/xml/XmlTest;)Ljava/util/Collection<Lorg/testng/xml/XmlClass;>;
    MethodParameters:
         Name  Flags
      cls      
      xmlTest  
}
SourceFile: "ClassHelper.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map