public class org.testng.TestNG
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.testng.TestNG
  super_class: java.lang.Object
{
  private static final org.testng.log4testng.Logger LOGGER;
    descriptor: Lorg/testng/log4testng/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.lang.String DEFAULT_COMMAND_LINE_SUITE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Command line suite"

  public static final java.lang.String DEFAULT_COMMAND_LINE_TEST_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Command line test"

  private static final java.lang.String DEFAULT_THREADPOOL_FACTORY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.testng.internal.thread.DefaultThreadPoolExecutorFactory"

  public static final java.lang.String DEFAULT_OUTPUTDIR;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "test-output"

  private static org.testng.TestNG m_instance;
    descriptor: Lorg/testng/TestNG;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static com.beust.jcommander.JCommander m_jCommander;
    descriptor: Lcom/beust/jcommander/JCommander;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private java.util.List<java.lang.String> m_commandLineMethods;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  protected java.util.List<org.testng.xml.XmlSuite> m_suites;
    descriptor: Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/List<Lorg/testng/xml/XmlSuite;>;

  private java.util.List<org.testng.xml.XmlSuite> m_cmdlineSuites;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/testng/xml/XmlSuite;>;

  private java.lang.String m_outputDir;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] m_includedGroups;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] m_excludedGroups;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean m_isJUnit;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean m_isMixed;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  protected boolean m_useDefaultListeners;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  private boolean m_failIfAllTestsSkipped;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

  private org.testng.ITestRunnerFactory m_testRunnerFactory;
    descriptor: Lorg/testng/ITestRunnerFactory;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.Map<java.lang.Class<? extends org.testng.IClassListener>, org.testng.IClassListener> m_classListeners;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<+Lorg/testng/IClassListener;>;Lorg/testng/IClassListener;>;

  private final java.util.Map<java.lang.Class<? extends org.testng.ITestListener>, org.testng.ITestListener> m_testListeners;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<+Lorg/testng/ITestListener;>;Lorg/testng/ITestListener;>;

  private final java.util.Map<java.lang.Class<? extends org.testng.ISuiteListener>, org.testng.ISuiteListener> m_suiteListeners;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<+Lorg/testng/ISuiteListener;>;Lorg/testng/ISuiteListener;>;

  private final java.util.Map<java.lang.Class<? extends org.testng.IReporter>, org.testng.IReporter> m_reporters;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<+Lorg/testng/IReporter;>;Lorg/testng/IReporter;>;

  private final java.util.Map<java.lang.Class<? extends org.testng.IDataProviderListener>, org.testng.IDataProviderListener> m_dataProviderListeners;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<+Lorg/testng/IDataProviderListener;>;Lorg/testng/IDataProviderListener;>;

  private final java.util.Map<java.lang.Class<? extends org.testng.IDataProviderInterceptor>, org.testng.IDataProviderInterceptor> m_dataProviderInterceptors;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<+Lorg/testng/IDataProviderInterceptor;>;Lorg/testng/IDataProviderInterceptor;>;

  private org.testng.thread.IExecutorFactory m_executorFactory;
    descriptor: Lorg/testng/thread/IExecutorFactory;
    flags: (0x0002) ACC_PRIVATE

  public static final java.lang.Integer DEFAULT_VERBOSE;
    descriptor: Ljava/lang/Integer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private int m_threadCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.testng.xml.XmlSuite$ParallelMode m_parallelMode;
    descriptor: Lorg/testng/xml/XmlSuite$ParallelMode;
    flags: (0x0002) ACC_PRIVATE

  private org.testng.xml.XmlSuite$FailurePolicy m_configFailurePolicy;
    descriptor: Lorg/testng/xml/XmlSuite$FailurePolicy;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Class<?>[] m_commandLineTestClasses;
    descriptor: [Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Signature: [Ljava/lang/Class<*>;

  private java.lang.String m_defaultSuiteName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String m_defaultTestName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.String, java.lang.Integer> m_methodDescriptors;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;

  private java.util.Set<org.testng.xml.XmlMethodSelector> m_selectors;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/testng/xml/XmlMethodSelector;>;

  private org.testng.ITestObjectFactory m_objectFactory;
    descriptor: Lorg/testng/ITestObjectFactory;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.Map<java.lang.Class<? extends org.testng.IInvokedMethodListener>, org.testng.IInvokedMethodListener> m_invokedMethodListeners;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<+Lorg/testng/IInvokedMethodListener;>;Lorg/testng/IInvokedMethodListener;>;

  private java.lang.Integer m_dataProviderThreadCount;
    descriptor: Ljava/lang/Integer;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String m_jarPath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String m_xmlPathInJar;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<java.lang.String> m_stringSuites;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private org.testng.IHookable m_hookable;
    descriptor: Lorg/testng/IHookable;
    flags: (0x0002) ACC_PRIVATE

  private org.testng.IConfigurable m_configurable;
    descriptor: Lorg/testng/IConfigurable;
    flags: (0x0002) ACC_PRIVATE

  protected long m_end;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  protected long m_start;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  private final java.util.Map<java.lang.Class<? extends org.testng.IAlterSuiteListener>, org.testng.IAlterSuiteListener> m_alterSuiteListeners;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<+Lorg/testng/IAlterSuiteListener;>;Lorg/testng/IAlterSuiteListener;>;

  private boolean m_isInitialized;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean isSuiteInitialized;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final org.testng.internal.ExitCodeListener exitCodeListener;
    descriptor: Lorg/testng/internal/ExitCodeListener;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.testng.internal.ExitCode exitCode;
    descriptor: Lorg/testng/internal/ExitCode;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.Map<java.lang.Class<? extends org.testng.IExecutionVisualiser>, org.testng.IExecutionVisualiser> m_executionVisualisers;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<+Lorg/testng/IExecutionVisualiser;>;Lorg/testng/IExecutionVisualiser;>;

  private java.lang.Integer m_verbose;
    descriptor: Ljava/lang/Integer;
    flags: (0x0002) ACC_PRIVATE

  private final org.testng.IAnnotationTransformer m_defaultAnnoProcessor;
    descriptor: Lorg/testng/IAnnotationTransformer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.testng.IAnnotationTransformer m_annotationTransformer;
    descriptor: Lorg/testng/IAnnotationTransformer;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean m_skipFailedInvocationCounts;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<org.testng.IMethodInterceptor> m_methodInterceptors;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/testng/IMethodInterceptor;>;

  private java.util.List<java.lang.String> m_testNames;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private java.lang.Integer m_suiteThreadPoolSize;
    descriptor: Ljava/lang/Integer;
    flags: (0x0002) ACC_PRIVATE

  private boolean m_randomizeSuites;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean m_alwaysRun;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean m_preserveOrder;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean m_groupByInstances;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private org.testng.internal.IConfiguration m_configuration;
    descriptor: Lorg/testng/internal/IConfiguration;
    flags: (0x0002) ACC_PRIVATE

  private java.net.URLClassLoader m_serviceLoaderClassLoader;
    descriptor: Ljava/net/URLClassLoader;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.Class<? extends org.testng.ITestNGListener>, org.testng.ITestNGListener> serviceLoaderListeners;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/Class<+Lorg/testng/ITestNGListener;>;Lorg/testng/ITestNGListener;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 108
            ldc Lorg/testng/TestNG;
            invokestatic org.testng.log4testng.Logger.getLogger:(Ljava/lang/Class;)Lorg/testng/log4testng/Logger;
            putstatic org.testng.TestNG.LOGGER:Lorg/testng/log4testng/Logger;
         1: .line 157
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putstatic org.testng.TestNG.DEFAULT_VERBOSE:Ljava/lang/Integer;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 203
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 126
            aload 0 /* this */
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            putfield org.testng.TestNG.m_suites:Ljava/util/List;
         2: .line 128
            aload 0 /* this */
            ldc "test-output"
            putfield org.testng.TestNG.m_outputDir:Ljava/lang/String;
         3: .line 133
            aload 0 /* this */
            getstatic org.testng.xml.XmlSuite.DEFAULT_JUNIT:Ljava/lang/Boolean;
            putfield org.testng.TestNG.m_isJUnit:Ljava/lang/Boolean;
         4: .line 134
            aload 0 /* this */
            getstatic org.testng.xml.XmlSuite.DEFAULT_MIXED:Ljava/lang/Boolean;
            putfield org.testng.TestNG.m_isMixed:Ljava/lang/Boolean;
         5: .line 135
            aload 0 /* this */
            iconst_1
            putfield org.testng.TestNG.m_useDefaultListeners:Z
         6: .line 136
            aload 0 /* this */
            iconst_0
            putfield org.testng.TestNG.m_failIfAllTestsSkipped:Z
         7: .line 137
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.testng.TestNG.m_listenersToSkipFromBeingWiredIn:Ljava/util/List;
         8: .line 142
            aload 0 /* this */
         9: .line 143
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_classListeners:Ljava/util/Map;
        10: .line 144
            aload 0 /* this */
        11: .line 145
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_testListeners:Ljava/util/Map;
        12: .line 146
            aload 0 /* this */
        13: .line 147
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_suiteListeners:Ljava/util/Map;
        14: .line 148
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_reporters:Ljava/util/Map;
        15: .line 150
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_dataProviderListeners:Ljava/util/Map;
        16: .line 152
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_dataProviderInterceptors:Ljava/util/Map;
        17: .line 155
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestNG.m_executorFactory:Lorg/testng/thread/IExecutorFactory;
        18: .line 160
            aload 0 /* this */
            iconst_m1
            putfield org.testng.TestNG.m_threadCount:I
        19: .line 161
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestNG.m_parallelMode:Lorg/testng/xml/XmlSuite$ParallelMode;
        20: .line 165
            aload 0 /* this */
            ldc "Command line suite"
            putfield org.testng.TestNG.m_defaultSuiteName:Ljava/lang/String;
        21: .line 166
            aload 0 /* this */
            ldc "Command line test"
            putfield org.testng.TestNG.m_defaultTestName:Ljava/lang/String;
        22: .line 168
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_methodDescriptors:Ljava/util/Map;
        23: .line 170
            aload 0 /* this */
            invokestatic org.testng.collections.Sets.newLinkedHashSet:()Ljava/util/Set;
            putfield org.testng.TestNG.m_selectors:Ljava/util/Set;
        24: .line 175
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_invokedMethodListeners:Ljava/util/Map;
        25: .line 177
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestNG.m_dataProviderThreadCount:Ljava/lang/Integer;
        26: .line 181
            aload 0 /* this */
            ldc "testng.xml"
            putfield org.testng.TestNG.m_xmlPathInJar:Ljava/lang/String;
        27: .line 183
            aload 0 /* this */
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            putfield org.testng.TestNG.m_stringSuites:Ljava/util/List;
        28: .line 192
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_alterSuiteListeners:Ljava/util/Map;
        29: .line 194
            aload 0 /* this */
            iconst_0
            putfield org.testng.TestNG.m_isInitialized:Z
        30: .line 195
            aload 0 /* this */
            iconst_0
            putfield org.testng.TestNG.isSuiteInitialized:Z
        31: .line 196
            aload 0 /* this */
        32: .line 197
            new org.testng.internal.ExitCodeListener
            dup
            invokespecial org.testng.internal.ExitCodeListener.<init>:()V
            putfield org.testng.TestNG.exitCodeListener:Lorg/testng/internal/ExitCodeListener;
        33: .line 200
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_executionVisualisers:Ljava/util/Map;
        34: .line 761
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestNG.m_verbose:Ljava/lang/Integer;
        35: .line 763
            aload 0 /* this */
            new org.testng.internal.annotations.DefaultAnnotationTransformer
            dup
            invokespecial org.testng.internal.annotations.DefaultAnnotationTransformer.<init>:()V
            putfield org.testng.TestNG.m_defaultAnnoProcessor:Lorg/testng/IAnnotationTransformer;
        36: .line 764
            aload 0 /* this */
            aload 0 /* this */
            getfield org.testng.TestNG.m_defaultAnnoProcessor:Lorg/testng/IAnnotationTransformer;
            putfield org.testng.TestNG.m_annotationTransformer:Lorg/testng/IAnnotationTransformer;
        37: .line 766
            aload 0 /* this */
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield org.testng.TestNG.m_skipFailedInvocationCounts:Ljava/lang/Boolean;
        38: .line 768
            aload 0 /* this */
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            putfield org.testng.TestNG.m_methodInterceptors:Ljava/util/List;
        39: .line 773
            aload 0 /* this */
            getstatic org.testng.CommandLineArgs.SUITE_THREAD_POOL_SIZE_DEFAULT:Ljava/lang/Integer;
            putfield org.testng.TestNG.m_suiteThreadPoolSize:Ljava/lang/Integer;
        40: .line 775
            aload 0 /* this */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.testng.TestNG.m_randomizeSuites:Z
        41: .line 777
            aload 0 /* this */
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.testng.TestNG.m_alwaysRun:Z
        42: .line 779
            aload 0 /* this */
            getstatic org.testng.xml.XmlSuite.DEFAULT_PRESERVE_ORDER:Ljava/lang/Boolean;
            putfield org.testng.TestNG.m_preserveOrder:Ljava/lang/Boolean;
        43: .line 1883
            aload 0 /* this */
        44: .line 1884
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.serviceLoaderListeners:Ljava/util/Map;
        45: .line 204
            aload 0 /* this */
            iconst_1
            invokevirtual org.testng.TestNG.init:(Z)V
        46: .line 205
            return
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   47     0  this  Lorg/testng/TestNG;

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // boolean useDefaultListeners
         0: .line 212
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 126
            aload 0 /* this */
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            putfield org.testng.TestNG.m_suites:Ljava/util/List;
         2: .line 128
            aload 0 /* this */
            ldc "test-output"
            putfield org.testng.TestNG.m_outputDir:Ljava/lang/String;
         3: .line 133
            aload 0 /* this */
            getstatic org.testng.xml.XmlSuite.DEFAULT_JUNIT:Ljava/lang/Boolean;
            putfield org.testng.TestNG.m_isJUnit:Ljava/lang/Boolean;
         4: .line 134
            aload 0 /* this */
            getstatic org.testng.xml.XmlSuite.DEFAULT_MIXED:Ljava/lang/Boolean;
            putfield org.testng.TestNG.m_isMixed:Ljava/lang/Boolean;
         5: .line 135
            aload 0 /* this */
            iconst_1
            putfield org.testng.TestNG.m_useDefaultListeners:Z
         6: .line 136
            aload 0 /* this */
            iconst_0
            putfield org.testng.TestNG.m_failIfAllTestsSkipped:Z
         7: .line 137
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.testng.TestNG.m_listenersToSkipFromBeingWiredIn:Ljava/util/List;
         8: .line 142
            aload 0 /* this */
         9: .line 143
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_classListeners:Ljava/util/Map;
        10: .line 144
            aload 0 /* this */
        11: .line 145
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_testListeners:Ljava/util/Map;
        12: .line 146
            aload 0 /* this */
        13: .line 147
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_suiteListeners:Ljava/util/Map;
        14: .line 148
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_reporters:Ljava/util/Map;
        15: .line 150
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_dataProviderListeners:Ljava/util/Map;
        16: .line 152
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_dataProviderInterceptors:Ljava/util/Map;
        17: .line 155
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestNG.m_executorFactory:Lorg/testng/thread/IExecutorFactory;
        18: .line 160
            aload 0 /* this */
            iconst_m1
            putfield org.testng.TestNG.m_threadCount:I
        19: .line 161
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestNG.m_parallelMode:Lorg/testng/xml/XmlSuite$ParallelMode;
        20: .line 165
            aload 0 /* this */
            ldc "Command line suite"
            putfield org.testng.TestNG.m_defaultSuiteName:Ljava/lang/String;
        21: .line 166
            aload 0 /* this */
            ldc "Command line test"
            putfield org.testng.TestNG.m_defaultTestName:Ljava/lang/String;
        22: .line 168
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_methodDescriptors:Ljava/util/Map;
        23: .line 170
            aload 0 /* this */
            invokestatic org.testng.collections.Sets.newLinkedHashSet:()Ljava/util/Set;
            putfield org.testng.TestNG.m_selectors:Ljava/util/Set;
        24: .line 175
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_invokedMethodListeners:Ljava/util/Map;
        25: .line 177
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestNG.m_dataProviderThreadCount:Ljava/lang/Integer;
        26: .line 181
            aload 0 /* this */
            ldc "testng.xml"
            putfield org.testng.TestNG.m_xmlPathInJar:Ljava/lang/String;
        27: .line 183
            aload 0 /* this */
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            putfield org.testng.TestNG.m_stringSuites:Ljava/util/List;
        28: .line 192
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_alterSuiteListeners:Ljava/util/Map;
        29: .line 194
            aload 0 /* this */
            iconst_0
            putfield org.testng.TestNG.m_isInitialized:Z
        30: .line 195
            aload 0 /* this */
            iconst_0
            putfield org.testng.TestNG.isSuiteInitialized:Z
        31: .line 196
            aload 0 /* this */
        32: .line 197
            new org.testng.internal.ExitCodeListener
            dup
            invokespecial org.testng.internal.ExitCodeListener.<init>:()V
            putfield org.testng.TestNG.exitCodeListener:Lorg/testng/internal/ExitCodeListener;
        33: .line 200
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.m_executionVisualisers:Ljava/util/Map;
        34: .line 761
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestNG.m_verbose:Ljava/lang/Integer;
        35: .line 763
            aload 0 /* this */
            new org.testng.internal.annotations.DefaultAnnotationTransformer
            dup
            invokespecial org.testng.internal.annotations.DefaultAnnotationTransformer.<init>:()V
            putfield org.testng.TestNG.m_defaultAnnoProcessor:Lorg/testng/IAnnotationTransformer;
        36: .line 764
            aload 0 /* this */
            aload 0 /* this */
            getfield org.testng.TestNG.m_defaultAnnoProcessor:Lorg/testng/IAnnotationTransformer;
            putfield org.testng.TestNG.m_annotationTransformer:Lorg/testng/IAnnotationTransformer;
        37: .line 766
            aload 0 /* this */
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield org.testng.TestNG.m_skipFailedInvocationCounts:Ljava/lang/Boolean;
        38: .line 768
            aload 0 /* this */
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            putfield org.testng.TestNG.m_methodInterceptors:Ljava/util/List;
        39: .line 773
            aload 0 /* this */
            getstatic org.testng.CommandLineArgs.SUITE_THREAD_POOL_SIZE_DEFAULT:Ljava/lang/Integer;
            putfield org.testng.TestNG.m_suiteThreadPoolSize:Ljava/lang/Integer;
        40: .line 775
            aload 0 /* this */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.testng.TestNG.m_randomizeSuites:Z
        41: .line 777
            aload 0 /* this */
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.testng.TestNG.m_alwaysRun:Z
        42: .line 779
            aload 0 /* this */
            getstatic org.testng.xml.XmlSuite.DEFAULT_PRESERVE_ORDER:Ljava/lang/Boolean;
            putfield org.testng.TestNG.m_preserveOrder:Ljava/lang/Boolean;
        43: .line 1883
            aload 0 /* this */
        44: .line 1884
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestNG.serviceLoaderListeners:Ljava/util/Map;
        45: .line 213
            aload 0 /* this */
            iload 1 /* useDefaultListeners */
            invokevirtual org.testng.TestNG.init:(Z)V
        46: .line 214
            return
        end local 1 // boolean useDefaultListeners
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   47     0                 this  Lorg/testng/TestNG;
            0   47     1  useDefaultListeners  Z
    MethodParameters:
                     Name  Flags
      useDefaultListeners  

  private void init(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // boolean useDefaultListeners
         0: .line 217
            aload 0 /* this */
            putstatic org.testng.TestNG.m_instance:Lorg/testng/TestNG;
         1: .line 219
            aload 0 /* this */
            iload 1 /* useDefaultListeners */
            putfield org.testng.TestNG.m_useDefaultListeners:Z
         2: .line 220
            aload 0 /* this */
            new org.testng.internal.Configuration
            dup
            invokespecial org.testng.internal.Configuration.<init>:()V
            putfield org.testng.TestNG.m_configuration:Lorg/testng/internal/IConfiguration;
         3: .line 221
            return
        end local 1 // boolean useDefaultListeners
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lorg/testng/TestNG;
            0    4     1  useDefaultListeners  Z
    MethodParameters:
                     Name  Flags
      useDefaultListeners  

  public void toggleFailureIfAllTestsWereSkipped(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // boolean failIfAllTestsSkipped
         0: .line 229
            aload 0 /* this */
            iload 1 /* failIfAllTestsSkipped */
            putfield org.testng.TestNG.m_failIfAllTestsSkipped:Z
         1: .line 230
            return
        end local 1 // boolean failIfAllTestsSkipped
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lorg/testng/TestNG;
            0    2     1  failIfAllTestsSkipped  Z
    MethodParameters:
                       Name  Flags
      failIfAllTestsSkipped  

  public void setListenersToSkipFromBeingWiredInViaServiceLoaders(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.String[] listeners
         0: .line 237
            aload 0 /* this */
            getfield org.testng.TestNG.m_listenersToSkipFromBeingWiredIn:Ljava/util/List;
            aload 1 /* listeners */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         1: .line 238
            return
        end local 1 // java.lang.String[] listeners
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/testng/TestNG;
            0    2     1  listeners  [Ljava/lang/String;
    MethodParameters:
           Name  Flags
      listeners  

  public int getStatus();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 241
            aload 0 /* this */
            getfield org.testng.TestNG.exitCodeListener:Lorg/testng/internal/ExitCodeListener;
            invokevirtual org.testng.internal.ExitCodeListener.noTestsFound:()Z
            ifeq 2
         1: .line 242
            bipush 8
            ireturn
         2: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.exitCode:Lorg/testng/internal/ExitCode;
            invokevirtual org.testng.internal.ExitCode.getExitCode:()I
            ireturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/testng/TestNG;

  public void setOutputDirectory(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.String outputdir
         0: .line 253
            aload 1 /* outputdir */
            invokestatic org.testng.internal.Utils.isStringNotEmpty:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 254
            aload 0 /* this */
            aload 1 /* outputdir */
            putfield org.testng.TestNG.m_outputDir:Ljava/lang/String;
         2: .line 256
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String outputdir
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/testng/TestNG;
            0    3     1  outputdir  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      outputdir  final

  public void setUseDefaultListeners(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // boolean useDefaultListeners
         0: .line 272
            aload 0 /* this */
            iload 1 /* useDefaultListeners */
            putfield org.testng.TestNG.m_useDefaultListeners:Z
         1: .line 273
            return
        end local 1 // boolean useDefaultListeners
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/testng/TestNG;
            0    2     1  useDefaultListeners  Z
    MethodParameters:
                     Name  Flags
      useDefaultListeners  

  public void setTestJar(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.String jarPath
         0: .line 281
            aload 0 /* this */
            aload 1 /* jarPath */
            putfield org.testng.TestNG.m_jarPath:Ljava/lang/String;
         1: .line 282
            return
        end local 1 // java.lang.String jarPath
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/testng/TestNG;
            0    2     1  jarPath  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      jarPath  

  public void setXmlPathInJar(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.String xmlPathInJar
         0: .line 286
            aload 0 /* this */
            aload 1 /* xmlPathInJar */
            putfield org.testng.TestNG.m_xmlPathInJar:Ljava/lang/String;
         1: .line 287
            return
        end local 1 // java.lang.String xmlPathInJar
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/testng/TestNG;
            0    2     1  xmlPathInJar  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      xmlPathInJar  

  private void parseSuiteFiles();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=10, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 290
            aload 0 /* this */
            invokevirtual org.testng.TestNG.getProcessor:()Lorg/testng/internal/OverrideProcessor;
            astore 1 /* processor */
        start local 1 // org.testng.xml.IPostProcessor processor
         1: .line 291
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 20
      StackMap locals: org.testng.TestNG org.testng.xml.IPostProcessor top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 2 /* s */
        start local 2 // org.testng.xml.XmlSuite s
         3: .line 292
            aload 2 /* s */
            invokevirtual org.testng.xml.XmlSuite.isParsed:()Z
            ifeq 5
         4: .line 293
            goto 20
         5: .line 295
      StackMap locals: org.testng.TestNG org.testng.xml.IPostProcessor org.testng.xml.XmlSuite java.util.Iterator
      StackMap stack:
            aload 2 /* s */
            invokevirtual org.testng.xml.XmlSuite.getSuiteFiles:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 19
      StackMap locals: org.testng.TestNG org.testng.xml.IPostProcessor org.testng.xml.XmlSuite java.util.Iterator top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* suiteFile */
        start local 4 // java.lang.String suiteFile
         7: .line 297
            aload 2 /* s */
            invokevirtual org.testng.xml.XmlSuite.getFileName:()Ljava/lang/String;
            astore 6 /* fileNameToUse */
        start local 6 // java.lang.String fileNameToUse
         8: .line 298
            aload 6 /* fileNameToUse */
            ifnull 9
            aload 6 /* fileNameToUse */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 10
         9: .line 299
      StackMap locals: org.testng.TestNG org.testng.xml.IPostProcessor org.testng.xml.XmlSuite java.util.Iterator java.lang.String java.util.Iterator java.lang.String
      StackMap stack:
            aload 4 /* suiteFile */
            astore 6 /* fileNameToUse */
        10: .line 301
      StackMap locals:
      StackMap stack:
            aload 6 /* fileNameToUse */
            aload 1 /* processor */
            invokestatic org.testng.xml.Parser.parse:(Ljava/lang/String;Lorg/testng/xml/IPostProcessor;)Ljava/util/Collection;
            astore 7 /* childSuites */
        start local 7 // java.util.Collection childSuites
        11: .line 302
            aload 7 /* childSuites */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 9
            goto 15
      StackMap locals: org.testng.TestNG org.testng.xml.IPostProcessor org.testng.xml.XmlSuite java.util.Iterator java.lang.String java.util.Iterator java.lang.String java.util.Collection top java.util.Iterator
      StackMap stack:
        12: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 8 /* cSuite */
        start local 8 // org.testng.xml.XmlSuite cSuite
        13: .line 303
            aload 8 /* cSuite */
            aload 2 /* s */
            invokevirtual org.testng.xml.XmlSuite.setParentSuite:(Lorg/testng/xml/XmlSuite;)V
        14: .line 304
            aload 2 /* s */
            invokevirtual org.testng.xml.XmlSuite.getChildSuites:()Ljava/util/List;
            aload 8 /* cSuite */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.testng.xml.XmlSuite cSuite
        15: .line 302
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        end local 7 // java.util.Collection childSuites
        end local 6 // java.lang.String fileNameToUse
        16: .line 306
            goto 19
      StackMap locals: org.testng.TestNG org.testng.xml.IPostProcessor org.testng.xml.XmlSuite java.util.Iterator java.lang.String java.util.Iterator
      StackMap stack: java.io.IOException
        17: astore 6 /* e */
        start local 6 // java.io.IOException e
        18: .line 307
            aload 6 /* e */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.IOException.printStackTrace:(Ljava/io/PrintStream;)V
        end local 6 // java.io.IOException e
        end local 4 // java.lang.String suiteFile
        19: .line 295
      StackMap locals: org.testng.TestNG org.testng.xml.IPostProcessor org.testng.xml.XmlSuite java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 2 // org.testng.xml.XmlSuite s
        20: .line 291
      StackMap locals: org.testng.TestNG org.testng.xml.IPostProcessor top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        21: .line 311
            return
        end local 1 // org.testng.xml.IPostProcessor processor
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   22     0           this  Lorg/testng/TestNG;
            1   22     1      processor  Lorg/testng/xml/IPostProcessor;
            3   20     2              s  Lorg/testng/xml/XmlSuite;
            7   19     4      suiteFile  Ljava/lang/String;
            8   16     6  fileNameToUse  Ljava/lang/String;
           11   16     7    childSuites  Ljava/util/Collection<Lorg/testng/xml/XmlSuite;>;
           13   15     8         cSuite  Lorg/testng/xml/XmlSuite;
           18   19     6              e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           7    16      17  Class java.io.IOException

  private org.testng.internal.OverrideProcessor getProcessor();
    descriptor: ()Lorg/testng/internal/OverrideProcessor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 314
            new org.testng.internal.OverrideProcessor
            dup
            aload 0 /* this */
            getfield org.testng.TestNG.m_includedGroups:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.testng.TestNG.m_excludedGroups:[Ljava/lang/String;
            invokespecial org.testng.internal.OverrideProcessor.<init>:([Ljava/lang/String;[Ljava/lang/String;)V
            areturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;

  private void parseSuite(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.String suitePath
         0: .line 318
            getstatic org.testng.TestNG.LOGGER:Lorg/testng/log4testng/Logger;
            invokevirtual org.testng.log4testng.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 319
            getstatic org.testng.TestNG.LOGGER:Lorg/testng/log4testng/Logger;
            new java.lang.StringBuilder
            dup
            ldc "suiteXmlPath: \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* suitePath */
            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;
            invokevirtual org.testng.log4testng.Logger.debug:(Ljava/lang/Object;)V
         2: .line 322
      StackMap locals:
      StackMap stack:
            aload 1 /* suitePath */
            aload 0 /* this */
            invokevirtual org.testng.TestNG.getProcessor:()Lorg/testng/internal/OverrideProcessor;
            invokestatic org.testng.xml.Parser.parse:(Ljava/lang/String;Lorg/testng/xml/IPostProcessor;)Ljava/util/Collection;
            astore 2 /* allSuites */
        start local 2 // java.util.Collection allSuites
         3: .line 324
            aload 2 /* allSuites */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 17
      StackMap locals: org.testng.TestNG java.lang.String java.util.Collection top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 3 /* s */
        start local 3 // org.testng.xml.XmlSuite s
         5: .line 325
            aload 0 /* this */
            getfield org.testng.TestNG.m_parallelMode:Lorg/testng/xml/XmlSuite$ParallelMode;
            ifnull 7
         6: .line 326
            aload 3 /* s */
            aload 0 /* this */
            getfield org.testng.TestNG.m_parallelMode:Lorg/testng/xml/XmlSuite$ParallelMode;
            invokevirtual org.testng.xml.XmlSuite.setParallel:(Lorg/testng/xml/XmlSuite$ParallelMode;)V
         7: .line 328
      StackMap locals: org.testng.TestNG java.lang.String java.util.Collection org.testng.xml.XmlSuite java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_threadCount:I
            ifle 9
         8: .line 329
            aload 3 /* s */
            aload 0 /* this */
            getfield org.testng.TestNG.m_threadCount:I
            invokevirtual org.testng.xml.XmlSuite.setThreadCount:(I)V
         9: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_testNames:Ljava/util/List;
            ifnonnull 12
        10: .line 332
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            aload 3 /* s */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 333
            goto 17
        12: .line 336
      StackMap locals:
      StackMap stack:
            new org.testng.xml.internal.TestNamesMatcher
            dup
            aload 3 /* s */
            aload 0 /* this */
            getfield org.testng.TestNG.m_testNames:Ljava/util/List;
            invokespecial org.testng.xml.internal.TestNamesMatcher.<init>:(Lorg/testng/xml/XmlSuite;Ljava/util/List;)V
            astore 5 /* testNamesMatcher */
        start local 5 // org.testng.xml.internal.TestNamesMatcher testNamesMatcher
        13: .line 337
            aload 5 /* testNamesMatcher */
            invokevirtual org.testng.xml.internal.TestNamesMatcher.getMissMatchedTestNames:()Ljava/util/List;
            astore 6 /* missMatchedTestname */
        start local 6 // java.util.List missMatchedTestname
        14: .line 338
            aload 6 /* missMatchedTestname */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 16
        15: .line 339
            new org.testng.TestNGException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The test(s) <"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* missMatchedTestname */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "> cannot be found."
            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
        16: .line 341
      StackMap locals: org.testng.xml.internal.TestNamesMatcher java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            aload 5 /* testNamesMatcher */
            invokevirtual org.testng.xml.internal.TestNamesMatcher.getSuitesMatchingTestNames:()Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 6 // java.util.List missMatchedTestname
        end local 5 // org.testng.xml.internal.TestNamesMatcher testNamesMatcher
        end local 3 // org.testng.xml.XmlSuite s
        17: .line 324
      StackMap locals: org.testng.TestNG java.lang.String java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 2 // java.util.Collection allSuites
        18: .line 343
            goto 30
      StackMap locals: org.testng.TestNG java.lang.String
      StackMap stack: java.io.IOException
        19: astore 2 /* e */
        start local 2 // java.io.IOException e
        20: .line 344
            aload 2 /* e */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.IOException.printStackTrace:(Ljava/io/PrintStream;)V
        end local 2 // java.io.IOException e
        21: goto 30
        22: .line 345
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* ex */
        start local 2 // java.lang.Exception ex
        23: .line 347
            aload 2 /* ex */
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
        24: .line 348
            goto 26
        25: .line 349
      StackMap locals: java.lang.Exception java.lang.Throwable
      StackMap stack:
            aload 3 /* t */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 3 /* t */
        26: .line 348
      StackMap locals:
      StackMap stack:
            aload 3 /* t */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            ifnonnull 25
        27: .line 351
            aload 3 /* t */
            instanceof org.testng.TestNGException
            ifeq 29
        28: .line 352
            aload 3 /* t */
            checkcast org.testng.TestNGException
            athrow
        29: .line 354
      StackMap locals:
      StackMap stack:
            new org.testng.TestNGException
            dup
            aload 3 /* t */
            invokespecial org.testng.TestNGException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Throwable t
        end local 2 // java.lang.Exception ex
        30: .line 356
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String suitePath
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   31     0                 this  Lorg/testng/TestNG;
            0   31     1            suitePath  Ljava/lang/String;
            3   18     2            allSuites  Ljava/util/Collection<Lorg/testng/xml/XmlSuite;>;
            5   17     3                    s  Lorg/testng/xml/XmlSuite;
           13   17     5     testNamesMatcher  Lorg/testng/xml/internal/TestNamesMatcher;
           14   17     6  missMatchedTestname  Ljava/util/List<Ljava/lang/String;>;
           20   21     2                    e  Ljava/io/IOException;
           23   30     2                   ex  Ljava/lang/Exception;
           24   30     3                    t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2    18      19  Class java.io.IOException
           2    18      22  Class java.lang.Exception
    MethodParameters:
           Name  Flags
      suitePath  

  public void initializeSuitesAndJarFile();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 360
            aload 0 /* this */
            getfield org.testng.TestNG.isSuiteInitialized:Z
            ifeq 2
         1: .line 361
            return
         2: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.testng.TestNG.isSuiteInitialized:Z
         3: .line 365
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 6
         4: .line 366
            aload 0 /* this */
            invokevirtual org.testng.TestNG.parseSuiteFiles:()V
         5: .line 367
            return
         6: .line 373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_stringSuites:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 9
      StackMap locals: org.testng.TestNG top java.util.Iterator
      StackMap stack:
         7: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* suitePath */
        start local 1 // java.lang.String suitePath
         8: .line 374
            aload 0 /* this */
            aload 1 /* suitePath */
            invokevirtual org.testng.TestNG.parseSuite:(Ljava/lang/String;)V
        end local 1 // java.lang.String suitePath
         9: .line 373
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 382
            aload 0 /* this */
            getfield org.testng.TestNG.m_jarPath:Ljava/lang/String;
            ifnull 21
            aload 0 /* this */
            getfield org.testng.TestNG.m_stringSuites:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 21
        11: .line 383
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* suites */
        start local 1 // java.lang.StringBuilder suites
        12: .line 384
            aload 0 /* this */
            getfield org.testng.TestNG.m_stringSuites:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 15
      StackMap locals: org.testng.TestNG java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
        13: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* s */
        start local 2 // java.lang.String s
        14: .line 385
            aload 1 /* suites */
            aload 2 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // java.lang.String s
        15: .line 384
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        16: .line 388
            ldc "TestNG"
        17: .line 389
            iconst_2
        18: .line 390
            new java.lang.StringBuilder
            dup
            ldc "Ignoring the XML file inside "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.testng.TestNG.m_jarPath:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " and using "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* suites */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " instead"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 387
            invokestatic org.testng.internal.Utils.log:(Ljava/lang/String;ILjava/lang/String;)V
        20: .line 391
            return
        end local 1 // java.lang.StringBuilder suites
        21: .line 393
      StackMap locals: org.testng.TestNG
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_jarPath:Ljava/lang/String;
            invokestatic org.testng.internal.Utils.isStringEmpty:(Ljava/lang/String;)Z
            ifeq 23
        22: .line 394
            return
        23: .line 398
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* this */
            getfield org.testng.TestNG.m_jarPath:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 1 /* jarFile */
        start local 1 // java.io.File jarFile
        24: .line 401
            new org.testng.JarFileUtils
            dup
            aload 0 /* this */
            invokevirtual org.testng.TestNG.getProcessor:()Lorg/testng/internal/OverrideProcessor;
            aload 0 /* this */
            getfield org.testng.TestNG.m_xmlPathInJar:Ljava/lang/String;
            aload 0 /* this */
            getfield org.testng.TestNG.m_testNames:Ljava/util/List;
            aload 0 /* this */
            getfield org.testng.TestNG.m_parallelMode:Lorg/testng/xml/XmlSuite$ParallelMode;
            invokespecial org.testng.JarFileUtils.<init>:(Lorg/testng/xml/IPostProcessor;Ljava/lang/String;Ljava/util/List;Lorg/testng/xml/XmlSuite$ParallelMode;)V
        25: .line 400
            astore 2 /* utils */
        start local 2 // org.testng.JarFileUtils utils
        26: .line 403
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            aload 2 /* utils */
            aload 1 /* jarFile */
            invokevirtual org.testng.JarFileUtils.extractSuitesFrom:(Ljava/io/File;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        27: .line 404
            return
        end local 2 // org.testng.JarFileUtils utils
        end local 1 // java.io.File jarFile
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   28     0       this  Lorg/testng/TestNG;
            8    9     1  suitePath  Ljava/lang/String;
           12   21     1     suites  Ljava/lang/StringBuilder;
           14   15     2          s  Ljava/lang/String;
           24   28     1    jarFile  Ljava/io/File;
           26   28     2      utils  Lorg/testng/JarFileUtils;

  public void setThreadCount(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // int threadCount
         0: .line 408
            iload 1 /* threadCount */
            iconst_1
            if_icmpge 2
         1: .line 409
            new java.lang.StringBuilder
            dup
            ldc "Cannot use a threadCount parameter less than 1; 1 > "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* threadCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.testng.TestNG.exitWithError:(Ljava/lang/String;)V
         2: .line 412
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* threadCount */
            putfield org.testng.TestNG.m_threadCount:I
         3: .line 413
            return
        end local 1 // int threadCount
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/testng/TestNG;
            0    4     1  threadCount  I
    MethodParameters:
             Name  Flags
      threadCount  

  public void setParallel(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.String parallel
         0: .line 422
            aload 1 /* parallel */
            ifnonnull 3
         1: .line 423
            aload 0 /* this */
            getstatic org.testng.xml.XmlSuite$ParallelMode.NONE:Lorg/testng/xml/XmlSuite$ParallelMode;
            invokevirtual org.testng.TestNG.setParallel:(Lorg/testng/xml/XmlSuite$ParallelMode;)V
         2: .line 424
            goto 4
         3: .line 425
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parallel */
            invokestatic org.testng.xml.XmlSuite$ParallelMode.getValidParallel:(Ljava/lang/String;)Lorg/testng/xml/XmlSuite$ParallelMode;
            invokevirtual org.testng.TestNG.setParallel:(Lorg/testng/xml/XmlSuite$ParallelMode;)V
         4: .line 427
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String parallel
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/testng/TestNG;
            0    5     1  parallel  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      parallel  

  public void setParallel(org.testng.xml.XmlSuite$ParallelMode);
    descriptor: (Lorg/testng/xml/XmlSuite$ParallelMode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.xml.XmlSuite$ParallelMode parallel
         0: .line 430
            aload 0 /* this */
            aload 1 /* parallel */
            invokestatic org.testng.xml.XmlSuite$ParallelMode.skipDeprecatedValues:(Lorg/testng/xml/XmlSuite$ParallelMode;)Lorg/testng/xml/XmlSuite$ParallelMode;
            putfield org.testng.TestNG.m_parallelMode:Lorg/testng/xml/XmlSuite$ParallelMode;
         1: .line 431
            return
        end local 1 // org.testng.xml.XmlSuite$ParallelMode parallel
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/testng/TestNG;
            0    2     1  parallel  Lorg/testng/xml/XmlSuite$ParallelMode;
    MethodParameters:
          Name  Flags
      parallel  

  public void setCommandLineSuite(org.testng.xml.XmlSuite);
    descriptor: (Lorg/testng/xml/XmlSuite;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.xml.XmlSuite suite
         0: .line 434
            aload 0 /* this */
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            putfield org.testng.TestNG.m_cmdlineSuites:Ljava/util/List;
         1: .line 435
            aload 0 /* this */
            getfield org.testng.TestNG.m_cmdlineSuites:Ljava/util/List;
            aload 1 /* suite */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 436
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            aload 1 /* suite */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 437
            return
        end local 1 // org.testng.xml.XmlSuite suite
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/testng/TestNG;
            0    4     1  suite  Lorg/testng/xml/XmlSuite;
    MethodParameters:
       Name  Flags
      suite  

  public void setTestClasses(java.lang.Class[]);
    descriptor: ([Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.Class[] classes
         0: .line 449
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         1: .line 450
            aload 0 /* this */
            aload 1 /* classes */
            putfield org.testng.TestNG.m_commandLineTestClasses:[Ljava/lang/Class;
         2: .line 451
            return
        end local 1 // java.lang.Class[] classes
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/testng/TestNG;
            0    3     1  classes  [Ljava/lang/Class;
    MethodParameters:
         Name  Flags
      classes  

  private java.lang.String[] splitMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.String m
         0: .line 458
            aload 1 /* m */
            ldc "."
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 459
            iload 2 /* index */
            ifge 5
         2: .line 460
            new org.testng.TestNGException
            dup
         3: .line 461
            new java.lang.StringBuilder
            dup
            ldc "Bad format for command line method:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* m */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", expected <class>.<method>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 460
            invokespecial org.testng.TestNGException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 464
      StackMap locals: int
      StackMap stack:
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* m */
            iconst_0
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* m */
            iload 2 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            ldc "\\*"
            ldc "\\.\\*"
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aastore
            areturn
        end local 2 // int index
        end local 1 // java.lang.String m
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/testng/TestNG;
            0    6     1      m  Ljava/lang/String;
            1    6     2  index  I
    MethodParameters:
      Name  Flags
      m     

  private java.util.List<org.testng.xml.XmlSuite> createCommandLineSuitesForMethods(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.util.List commandLineMethods
         0: .line 476
            invokestatic org.testng.collections.Sets.newHashSet:()Ljava/util/Set;
            astore 2 /* classes */
        start local 2 // java.util.Set classes
         1: .line 477
            aload 1 /* commandLineMethods */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: org.testng.TestNG java.util.List java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* m */
        start local 3 // java.lang.String m
         3: .line 478
            aload 0 /* this */
            aload 3 /* m */
            invokevirtual org.testng.TestNG.splitMethod:(Ljava/lang/String;)[Ljava/lang/String;
            iconst_0
            aaload
            invokestatic org.testng.internal.ClassHelper.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 5 /* c */
        start local 5 // java.lang.Class c
         4: .line 479
            aload 5 /* c */
            ifnull 6
         5: .line 480
            aload 2 /* classes */
            aload 5 /* c */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.Class c
        end local 3 // java.lang.String m
         6: .line 477
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 484
            aload 0 /* this */
            aload 2 /* classes */
            iconst_0
            anewarray java.lang.Class
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.Class[]
            invokevirtual org.testng.TestNG.createCommandLineSuitesForClasses:([Ljava/lang/Class;)Ljava/util/List;
            astore 3 /* result */
        start local 3 // java.util.List result
         8: .line 489
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 4 /* xmlClasses */
        start local 4 // java.util.List xmlClasses
         9: .line 490
            aload 3 /* result */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 15
      StackMap locals: org.testng.TestNG java.util.List java.util.Set java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        10: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 5 /* s */
        start local 5 // org.testng.xml.XmlSuite s
        11: .line 491
            aload 5 /* s */
            invokevirtual org.testng.xml.XmlSuite.getTests:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 14
      StackMap locals: org.testng.TestNG java.util.List java.util.Set java.util.List java.util.List org.testng.xml.XmlSuite java.util.Iterator top java.util.Iterator
      StackMap stack:
        12: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlTest
            astore 7 /* t */
        start local 7 // org.testng.xml.XmlTest t
        13: .line 492
            aload 4 /* xmlClasses */
            aload 7 /* t */
            invokevirtual org.testng.xml.XmlTest.getClasses:()Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 7 // org.testng.xml.XmlTest t
        14: .line 491
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        end local 5 // org.testng.xml.XmlSuite s
        15: .line 490
      StackMap locals: org.testng.TestNG java.util.List java.util.Set java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        16: .line 496
            aload 4 /* xmlClasses */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 26
      StackMap locals:
      StackMap stack:
        17: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlClass
            astore 5 /* xc */
        start local 5 // org.testng.xml.XmlClass xc
        18: .line 497
            aload 1 /* commandLineMethods */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 25
      StackMap locals: org.testng.TestNG java.util.List java.util.Set java.util.List java.util.List org.testng.xml.XmlClass java.util.Iterator top java.util.Iterator
      StackMap stack:
        19: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* m */
        start local 7 // java.lang.String m
        20: .line 498
            aload 0 /* this */
            aload 7 /* m */
            invokevirtual org.testng.TestNG.splitMethod:(Ljava/lang/String;)[Ljava/lang/String;
            astore 9 /* split */
        start local 9 // java.lang.String[] split
        21: .line 499
            aload 9 /* split */
            iconst_0
            aaload
            astore 10 /* className */
        start local 10 // java.lang.String className
        22: .line 500
            aload 5 /* xc */
            invokevirtual org.testng.xml.XmlClass.getName:()Ljava/lang/String;
            aload 10 /* className */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        23: .line 501
            new org.testng.xml.XmlInclude
            dup
            aload 9 /* split */
            iconst_1
            aaload
            invokespecial org.testng.xml.XmlInclude.<init>:(Ljava/lang/String;)V
            astore 11 /* includedMethod */
        start local 11 // org.testng.xml.XmlInclude includedMethod
        24: .line 502
            aload 5 /* xc */
            invokevirtual org.testng.xml.XmlClass.getIncludedMethods:()Ljava/util/List;
            aload 11 /* includedMethod */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // org.testng.xml.XmlInclude includedMethod
        end local 10 // java.lang.String className
        end local 9 // java.lang.String[] split
        end local 7 // java.lang.String m
        25: .line 497
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        end local 5 // org.testng.xml.XmlClass xc
        26: .line 496
      StackMap locals: org.testng.TestNG java.util.List java.util.Set java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        27: .line 507
            aload 3 /* result */
            areturn
        end local 4 // java.util.List xmlClasses
        end local 3 // java.util.List result
        end local 2 // java.util.Set classes
        end local 1 // java.util.List commandLineMethods
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   28     0                this  Lorg/testng/TestNG;
            0   28     1  commandLineMethods  Ljava/util/List<Ljava/lang/String;>;
            1   28     2             classes  Ljava/util/Set<Ljava/lang/Class;>;
            3    6     3                   m  Ljava/lang/String;
            4    6     5                   c  Ljava/lang/Class;
            8   28     3              result  Ljava/util/List<Lorg/testng/xml/XmlSuite;>;
            9   28     4          xmlClasses  Ljava/util/List<Lorg/testng/xml/XmlClass;>;
           11   15     5                   s  Lorg/testng/xml/XmlSuite;
           13   14     7                   t  Lorg/testng/xml/XmlTest;
           18   26     5                  xc  Lorg/testng/xml/XmlClass;
           20   25     7                   m  Ljava/lang/String;
           21   25     9               split  [Ljava/lang/String;
           22   25    10           className  Ljava/lang/String;
           24   25    11      includedMethod  Lorg/testng/xml/XmlInclude;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)Ljava/util/List<Lorg/testng/xml/XmlSuite;>;
    MethodParameters:
                    Name  Flags
      commandLineMethods  

  private java.util.List<org.testng.xml.XmlSuite> createCommandLineSuitesForClasses(java.lang.Class[]);
    descriptor: ([Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=15, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.Class[] classes
         0: .line 517
            aload 1 /* classes */
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
         1: .line 518
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/testng/TestNG.lambda$0(Ljava/lang/Class;)Lorg/testng/xml/XmlClass; (6)
                  (Ljava/lang/Class;)Lorg/testng/xml/XmlClass;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 519
            invokedynamic apply()Ljava/util/function/IntFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (I)Ljava/lang/Object;
                  org/testng/TestNG.lambda$1(I)[Lorg/testng/xml/XmlClass; (6)
                  (I)[Lorg/testng/xml/XmlClass;
            invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
            checkcast org.testng.xml.XmlClass[]
         3: .line 517
            astore 2 /* xmlClasses */
        start local 2 // org.testng.xml.XmlClass[] xmlClasses
         4: .line 520
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            astore 3 /* suites */
        start local 3 // java.util.Map suites
         5: .line 521
            aload 0 /* this */
            getfield org.testng.TestNG.m_configuration:Lorg/testng/internal/IConfiguration;
            invokeinterface org.testng.internal.IConfiguration.getAnnotationFinder:()Lorg/testng/internal/annotations/IAnnotationFinder;
            astore 4 /* finder */
        start local 4 // org.testng.internal.annotations.IAnnotationFinder finder
         6: .line 523
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         7: goto 40
         8: .line 524
      StackMap locals: org.testng.TestNG java.lang.Class[] org.testng.xml.XmlClass[] java.util.Map org.testng.internal.annotations.IAnnotationFinder int
      StackMap stack:
            aload 1 /* classes */
            iload 5 /* i */
            aaload
            astore 6 /* c */
        start local 6 // java.lang.Class c
         9: .line 525
            aload 4 /* finder */
            aload 6 /* c */
            ldc Lorg/testng/annotations/ITestAnnotation;
            invokeinterface org.testng.internal.annotations.IAnnotationFinder.findAnnotation:(Ljava/lang/Class;Ljava/lang/Class;)Lorg/testng/annotations/IAnnotation;
            checkcast org.testng.annotations.ITestAnnotation
            astore 7 /* test */
        start local 7 // org.testng.annotations.ITestAnnotation test
        10: .line 526
            aload 0 /* this */
            invokevirtual org.testng.TestNG.getDefaultSuiteName:()Ljava/lang/String;
            astore 8 /* suiteName */
        start local 8 // java.lang.String suiteName
        11: .line 527
            aload 0 /* this */
            invokevirtual org.testng.TestNG.getDefaultTestName:()Ljava/lang/String;
            astore 9 /* testName */
        start local 9 // java.lang.String testName
        12: .line 528
            iconst_0
            istore 10 /* isJUnit */
        start local 10 // boolean isJUnit
        13: .line 529
            aload 7 /* test */
            ifnull 17
        14: .line 530
            aload 7 /* test */
            invokeinterface org.testng.annotations.ITestAnnotation.getSuiteName:()Ljava/lang/String;
            aload 8 /* suiteName */
            invokestatic org.testng.internal.Utils.defaultIfStringEmpty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* suiteName */
        15: .line 531
            aload 7 /* test */
            invokeinterface org.testng.annotations.ITestAnnotation.getTestName:()Ljava/lang/String;
            aload 9 /* testName */
            invokestatic org.testng.internal.Utils.defaultIfStringEmpty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* testName */
        16: .line 532
            goto 20
        17: .line 533
      StackMap locals: org.testng.TestNG java.lang.Class[] org.testng.xml.XmlClass[] java.util.Map org.testng.internal.annotations.IAnnotationFinder int java.lang.Class org.testng.annotations.ITestAnnotation java.lang.String java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_isMixed:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 20
            aload 6 /* c */
            invokestatic org.testng.junit.JUnitTestFinder.isJUnitTest:(Ljava/lang/Class;)Z
            ifeq 20
        18: .line 534
            iconst_1
            istore 10 /* isJUnit */
        19: .line 535
            aload 6 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 9 /* testName */
        20: .line 538
      StackMap locals:
      StackMap stack:
            aload 3 /* suites */
            aload 8 /* suiteName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 11 /* xmlSuite */
        start local 11 // org.testng.xml.XmlSuite xmlSuite
        21: .line 539
            aload 11 /* xmlSuite */
            ifnonnull 25
        22: .line 540
            new org.testng.xml.XmlSuite
            dup
            invokespecial org.testng.xml.XmlSuite.<init>:()V
            astore 11 /* xmlSuite */
        23: .line 541
            aload 11 /* xmlSuite */
            aload 8 /* suiteName */
            invokevirtual org.testng.xml.XmlSuite.setName:(Ljava/lang/String;)V
        24: .line 542
            aload 3 /* suites */
            aload 8 /* suiteName */
            aload 11 /* xmlSuite */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 545
      StackMap locals: org.testng.xml.XmlSuite
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_dataProviderThreadCount:Ljava/lang/Integer;
            ifnull 27
        26: .line 546
            aload 11 /* xmlSuite */
            aload 0 /* this */
            getfield org.testng.TestNG.m_dataProviderThreadCount:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual org.testng.xml.XmlSuite.setDataProviderThreadCount:(I)V
        27: .line 548
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 12 /* xmlTest */
        start local 12 // org.testng.xml.XmlTest xmlTest
        28: .line 549
            aload 11 /* xmlSuite */
            invokevirtual org.testng.xml.XmlSuite.getTests:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 14
            goto 33
      StackMap locals: org.testng.TestNG java.lang.Class[] org.testng.xml.XmlClass[] java.util.Map org.testng.internal.annotations.IAnnotationFinder int java.lang.Class org.testng.annotations.ITestAnnotation java.lang.String java.lang.String int org.testng.xml.XmlSuite org.testng.xml.XmlTest top java.util.Iterator
      StackMap stack:
        29: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlTest
            astore 13 /* xt */
        start local 13 // org.testng.xml.XmlTest xt
        30: .line 550
            aload 13 /* xt */
            invokevirtual org.testng.xml.XmlTest.getName:()Ljava/lang/String;
            aload 9 /* testName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        31: .line 551
            aload 13 /* xt */
            astore 12 /* xmlTest */
        32: .line 552
            goto 34
        end local 13 // org.testng.xml.XmlTest xt
        33: .line 549
      StackMap locals:
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        34: .line 556
      StackMap locals: org.testng.TestNG java.lang.Class[] org.testng.xml.XmlClass[] java.util.Map org.testng.internal.annotations.IAnnotationFinder int java.lang.Class org.testng.annotations.ITestAnnotation java.lang.String java.lang.String int org.testng.xml.XmlSuite org.testng.xml.XmlTest
      StackMap stack:
            aload 12 /* xmlTest */
            ifnonnull 38
        35: .line 557
            new org.testng.xml.XmlTest
            dup
            aload 11 /* xmlSuite */
            invokespecial org.testng.xml.XmlTest.<init>:(Lorg/testng/xml/XmlSuite;)V
            astore 12 /* xmlTest */
        36: .line 558
            aload 12 /* xmlTest */
            aload 9 /* testName */
            invokevirtual org.testng.xml.XmlTest.setName:(Ljava/lang/String;)V
        37: .line 559
            aload 12 /* xmlTest */
            iload 10 /* isJUnit */
            invokevirtual org.testng.xml.XmlTest.setJUnit:(Z)V
        38: .line 562
      StackMap locals:
      StackMap stack:
            aload 12 /* xmlTest */
            invokevirtual org.testng.xml.XmlTest.getXmlClasses:()Ljava/util/List;
            aload 2 /* xmlClasses */
            iload 5 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // org.testng.xml.XmlTest xmlTest
        end local 11 // org.testng.xml.XmlSuite xmlSuite
        end local 10 // boolean isJUnit
        end local 9 // java.lang.String testName
        end local 8 // java.lang.String suiteName
        end local 7 // org.testng.annotations.ITestAnnotation test
        end local 6 // java.lang.Class c
        39: .line 523
            iinc 5 /* i */ 1
      StackMap locals: org.testng.TestNG java.lang.Class[] org.testng.xml.XmlClass[] java.util.Map org.testng.internal.annotations.IAnnotationFinder int
      StackMap stack:
        40: iload 5 /* i */
            aload 1 /* classes */
            arraylength
            if_icmplt 8
        end local 5 // int i
        41: .line 565
            new java.util.ArrayList
            dup
            aload 3 /* suites */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 4 // org.testng.internal.annotations.IAnnotationFinder finder
        end local 3 // java.util.Map suites
        end local 2 // org.testng.xml.XmlClass[] xmlClasses
        end local 1 // java.lang.Class[] classes
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   42     0        this  Lorg/testng/TestNG;
            0   42     1     classes  [Ljava/lang/Class;
            4   42     2  xmlClasses  [Lorg/testng/xml/XmlClass;
            5   42     3      suites  Ljava/util/Map<Ljava/lang/String;Lorg/testng/xml/XmlSuite;>;
            6   42     4      finder  Lorg/testng/internal/annotations/IAnnotationFinder;
            7   41     5           i  I
            9   39     6           c  Ljava/lang/Class<*>;
           10   39     7        test  Lorg/testng/annotations/ITestAnnotation;
           11   39     8   suiteName  Ljava/lang/String;
           12   39     9    testName  Ljava/lang/String;
           13   39    10     isJUnit  Z
           21   39    11    xmlSuite  Lorg/testng/xml/XmlSuite;
           28   39    12     xmlTest  Lorg/testng/xml/XmlTest;
           30   33    13          xt  Lorg/testng/xml/XmlTest;
    Signature: ([Ljava/lang/Class;)Ljava/util/List<Lorg/testng/xml/XmlSuite;>;
    MethodParameters:
         Name  Flags
      classes  

  public void addMethodSelector(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.String className
        start local 2 // int priority
         0: .line 569
            aload 1 /* className */
            invokestatic org.testng.util.Strings.isNotNullAndNotEmpty:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 570
            aload 0 /* this */
            getfield org.testng.TestNG.m_methodDescriptors:Ljava/util/Map;
            aload 1 /* className */
            iload 2 /* priority */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 572
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int priority
        end local 1 // java.lang.String className
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/testng/TestNG;
            0    3     1  className  Ljava/lang/String;
            0    3     2   priority  I
    MethodParameters:
           Name  Flags
      className  
      priority   

  public void addMethodSelector(org.testng.xml.XmlMethodSelector);
    descriptor: (Lorg/testng/xml/XmlMethodSelector;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.xml.XmlMethodSelector selector
         0: .line 575
            aload 0 /* this */
            getfield org.testng.TestNG.m_selectors:Ljava/util/Set;
            aload 1 /* selector */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 576
            return
        end local 1 // org.testng.xml.XmlMethodSelector selector
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/testng/TestNG;
            0    2     1  selector  Lorg/testng/xml/XmlMethodSelector;
    MethodParameters:
          Name  Flags
      selector  

  public void setTestSuites(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.util.List suites
         0: .line 593
            aload 0 /* this */
            aload 1 /* suites */
            putfield org.testng.TestNG.m_stringSuites:Ljava/util/List;
         1: .line 594
            return
        end local 1 // java.util.List suites
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/testng/TestNG;
            0    2     1  suites  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
        Name  Flags
      suites  

  public void setXmlSuites(java.util.List<org.testng.xml.XmlSuite>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.util.List suites
         0: .line 603
            aload 0 /* this */
            aload 1 /* suites */
            putfield org.testng.TestNG.m_suites:Ljava/util/List;
         1: .line 604
            return
        end local 1 // java.util.List suites
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/testng/TestNG;
            0    2     1  suites  Ljava/util/List<Lorg/testng/xml/XmlSuite;>;
    Signature: (Ljava/util/List<Lorg/testng/xml/XmlSuite;>;)V
    MethodParameters:
        Name  Flags
      suites  

  public void setExcludedGroups(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.String groups
         0: .line 612
            aload 0 /* this */
            aload 1 /* groups */
            ldc ","
            invokestatic org.testng.internal.Utils.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            putfield org.testng.TestNG.m_excludedGroups:[Ljava/lang/String;
         1: .line 613
            return
        end local 1 // java.lang.String groups
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/testng/TestNG;
            0    2     1  groups  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      groups  

  public void setGroups(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.String groups
         0: .line 621
            aload 0 /* this */
            aload 1 /* groups */
            ldc ","
            invokestatic org.testng.internal.Utils.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            putfield org.testng.TestNG.m_includedGroups:[Ljava/lang/String;
         1: .line 622
            return
        end local 1 // java.lang.String groups
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/testng/TestNG;
            0    2     1  groups  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      groups  

  private void setTestRunnerFactoryClass(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.Class testRunnerFactoryClass
         0: .line 625
            aload 0 /* this */
            aload 1 /* testRunnerFactoryClass */
            invokestatic org.testng.internal.InstanceCreator.newInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.testng.ITestRunnerFactory
            invokevirtual org.testng.TestNG.setTestRunnerFactory:(Lorg/testng/ITestRunnerFactory;)V
         1: .line 626
            return
        end local 1 // java.lang.Class testRunnerFactoryClass
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lorg/testng/TestNG;
            0    2     1  testRunnerFactoryClass  Ljava/lang/Class;
    MethodParameters:
                        Name  Flags
      testRunnerFactoryClass  

  protected void setTestRunnerFactory(org.testng.ITestRunnerFactory);
    descriptor: (Lorg/testng/ITestRunnerFactory;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.ITestRunnerFactory itrf
         0: .line 629
            aload 0 /* this */
            aload 1 /* itrf */
            putfield org.testng.TestNG.m_testRunnerFactory:Lorg/testng/ITestRunnerFactory;
         1: .line 630
            return
        end local 1 // org.testng.ITestRunnerFactory itrf
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/TestNG;
            0    2     1  itrf  Lorg/testng/ITestRunnerFactory;
    MethodParameters:
      Name  Flags
      itrf  

  public void setObjectFactory(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.Class c
         0: .line 633
            aload 0 /* this */
            aload 1 /* c */
            invokestatic org.testng.internal.InstanceCreator.newInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.testng.ITestObjectFactory
            putfield org.testng.TestNG.m_objectFactory:Lorg/testng/ITestObjectFactory;
         1: .line 634
            return
        end local 1 // java.lang.Class c
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/TestNG;
            0    2     1     c  Ljava/lang/Class;
    MethodParameters:
      Name  Flags
      c     

  public void setObjectFactory(org.testng.ITestObjectFactory);
    descriptor: (Lorg/testng/ITestObjectFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.ITestObjectFactory factory
         0: .line 637
            aload 0 /* this */
            aload 1 /* factory */
            putfield org.testng.TestNG.m_objectFactory:Lorg/testng/ITestObjectFactory;
         1: .line 638
            return
        end local 1 // org.testng.ITestObjectFactory factory
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/testng/TestNG;
            0    2     1  factory  Lorg/testng/ITestObjectFactory;
    MethodParameters:
         Name  Flags
      factory  

  public void setListenerClasses(java.util.List<java.lang.Class<? extends org.testng.ITestNGListener>>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.util.List classes
         0: .line 647
            aload 1 /* classes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.testng.TestNG java.util.List top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 2 /* cls */
        start local 2 // java.lang.Class cls
         2: .line 648
            aload 0 /* this */
            aload 2 /* cls */
            invokestatic org.testng.internal.InstanceCreator.newInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.testng.ITestNGListener
            invokevirtual org.testng.TestNG.addListener:(Lorg/testng/ITestNGListener;)V
        end local 2 // java.lang.Class cls
         3: .line 647
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 650
            return
        end local 1 // java.util.List classes
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/testng/TestNG;
            0    5     1  classes  Ljava/util/List<Ljava/lang/Class<+Lorg/testng/ITestNGListener;>;>;
            2    3     2      cls  Ljava/lang/Class<+Lorg/testng/ITestNGListener;>;
    Signature: (Ljava/util/List<Ljava/lang/Class<+Lorg/testng/ITestNGListener;>;>;)V
    MethodParameters:
         Name  Flags
      classes  

  public void addListener(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.Object listener
         0: .line 659
            aload 1 /* listener */
            instanceof org.testng.ITestNGListener
            ifne 7
         1: .line 661
            new java.lang.StringBuilder
            dup
            ldc "Listener "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 662
            aload 1 /* listener */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         3: .line 663
            ldc " must be one of ITestListener, ISuiteListener, IReporter, "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 664
            ldc " IAnnotationTransformer, IMethodInterceptor or IInvokedMethodListener"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 661
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 660
            invokestatic org.testng.TestNG.exitWithError:(Ljava/lang/String;)V
         7: .line 666
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* listener */
            checkcast org.testng.ITestNGListener
            invokevirtual org.testng.TestNG.addListener:(Lorg/testng/ITestNGListener;)V
         8: .line 667
            return
        end local 1 // java.lang.Object listener
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/testng/TestNG;
            0    9     1  listener  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      listener  

  private static <E> void maybeAddListener(java.util.Map<java.lang.Class<? extends E>, E>, );
    descriptor: (Ljava/util/Map;Ljava/lang/Object;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Map map
        start local 1 // java.lang.Object value
         0: .line 670
            aload 0 /* map */
            aload 1 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* value */
            iconst_0
            invokestatic org.testng.TestNG.maybeAddListener:(Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Object;Z)V
         1: .line 671
            return
        end local 1 // java.lang.Object value
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0    map  Ljava/util/Map<Ljava/lang/Class<+TE;>;TE;>;
            0    2     1  value  TE;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Map<Ljava/lang/Class<+TE;>;TE;>;TE;)V
    MethodParameters:
       Name  Flags
      map    
      value  

  private static <E> void maybeAddListener(java.util.Map<java.lang.Class<? extends E>, E>, java.lang.Class<? extends E>, E, );
    descriptor: (Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Object;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.util.Map map
        start local 1 // java.lang.Class type
        start local 2 // java.lang.Object value
        start local 3 // boolean quiet
         0: .line 675
            aload 0 /* map */
            aload 1 /* type */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 676
            iload 3 /* quiet */
            ifne 5
         2: .line 677
            getstatic org.testng.TestNG.LOGGER:Lorg/testng/log4testng/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Ignoring duplicate listener : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            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;
            invokevirtual org.testng.log4testng.Logger.warn:(Ljava/lang/Object;)V
         3: .line 679
            goto 5
         4: .line 680
      StackMap locals:
      StackMap stack:
            aload 0 /* map */
            aload 1 /* type */
            aload 2 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 682
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean quiet
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Class type
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0    map  Ljava/util/Map<Ljava/lang/Class<+TE;>;TE;>;
            0    6     1   type  Ljava/lang/Class<+TE;>;
            0    6     2  value  TE;
            0    6     3  quiet  Z
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Map<Ljava/lang/Class<+TE;>;TE;>;Ljava/lang/Class<+TE;>;TE;Z)V
    MethodParameters:
       Name  Flags
      map    
      type   
      value  
      quiet  

  public void addListener(org.testng.ITestNGListener);
    descriptor: (Lorg/testng/ITestNGListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.ITestNGListener listener
         0: .line 685
            aload 1 /* listener */
            ifnonnull 2
         1: .line 686
            return
         2: .line 688
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IExecutionVisualiser
            ifeq 5
         3: .line 689
            aload 1 /* listener */
            checkcast org.testng.IExecutionVisualiser
            astore 2 /* visualiser */
        start local 2 // org.testng.IExecutionVisualiser visualiser
         4: .line 690
            aload 0 /* this */
            getfield org.testng.TestNG.m_executionVisualisers:Ljava/util/Map;
            aload 2 /* visualiser */
            invokestatic org.testng.TestNG.maybeAddListener:(Ljava/util/Map;Ljava/lang/Object;)V
        end local 2 // org.testng.IExecutionVisualiser visualiser
         5: .line 692
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.ISuiteListener
            ifeq 8
         6: .line 693
            aload 1 /* listener */
            checkcast org.testng.ISuiteListener
            astore 2 /* suite */
        start local 2 // org.testng.ISuiteListener suite
         7: .line 694
            aload 0 /* this */
            getfield org.testng.TestNG.m_suiteListeners:Ljava/util/Map;
            aload 2 /* suite */
            invokestatic org.testng.TestNG.maybeAddListener:(Ljava/util/Map;Ljava/lang/Object;)V
        end local 2 // org.testng.ISuiteListener suite
         8: .line 696
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.ITestListener
            ifeq 11
         9: .line 697
            aload 1 /* listener */
            checkcast org.testng.ITestListener
            astore 2 /* test */
        start local 2 // org.testng.ITestListener test
        10: .line 698
            aload 0 /* this */
            getfield org.testng.TestNG.m_testListeners:Ljava/util/Map;
            aload 2 /* test */
            invokestatic org.testng.TestNG.maybeAddListener:(Ljava/util/Map;Ljava/lang/Object;)V
        end local 2 // org.testng.ITestListener test
        11: .line 700
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IClassListener
            ifeq 14
        12: .line 701
            aload 1 /* listener */
            checkcast org.testng.IClassListener
            astore 2 /* clazz */
        start local 2 // org.testng.IClassListener clazz
        13: .line 702
            aload 0 /* this */
            getfield org.testng.TestNG.m_classListeners:Ljava/util/Map;
            aload 2 /* clazz */
            invokestatic org.testng.TestNG.maybeAddListener:(Ljava/util/Map;Ljava/lang/Object;)V
        end local 2 // org.testng.IClassListener clazz
        14: .line 704
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IReporter
            ifeq 17
        15: .line 705
            aload 1 /* listener */
            checkcast org.testng.IReporter
            astore 2 /* reporter */
        start local 2 // org.testng.IReporter reporter
        16: .line 706
            aload 0 /* this */
            getfield org.testng.TestNG.m_reporters:Ljava/util/Map;
            aload 2 /* reporter */
            invokestatic org.testng.TestNG.maybeAddListener:(Ljava/util/Map;Ljava/lang/Object;)V
        end local 2 // org.testng.IReporter reporter
        17: .line 708
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IAnnotationTransformer
            ifeq 19
        18: .line 709
            aload 0 /* this */
            aload 1 /* listener */
            checkcast org.testng.IAnnotationTransformer
            invokevirtual org.testng.TestNG.setAnnotationTransformer:(Lorg/testng/IAnnotationTransformer;)V
        19: .line 711
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IMethodInterceptor
            ifeq 21
        20: .line 712
            aload 0 /* this */
            getfield org.testng.TestNG.m_methodInterceptors:Ljava/util/List;
            aload 1 /* listener */
            checkcast org.testng.IMethodInterceptor
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        21: .line 714
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IInvokedMethodListener
            ifeq 24
        22: .line 715
            aload 1 /* listener */
            checkcast org.testng.IInvokedMethodListener
            astore 2 /* method */
        start local 2 // org.testng.IInvokedMethodListener method
        23: .line 716
            aload 0 /* this */
            getfield org.testng.TestNG.m_invokedMethodListeners:Ljava/util/Map;
            aload 2 /* method */
            invokestatic org.testng.TestNG.maybeAddListener:(Ljava/util/Map;Ljava/lang/Object;)V
        end local 2 // org.testng.IInvokedMethodListener method
        24: .line 718
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IHookable
            ifeq 26
        25: .line 719
            aload 0 /* this */
            aload 1 /* listener */
            checkcast org.testng.IHookable
            invokevirtual org.testng.TestNG.setHookable:(Lorg/testng/IHookable;)V
        26: .line 721
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IConfigurable
            ifeq 28
        27: .line 722
            aload 0 /* this */
            aload 1 /* listener */
            checkcast org.testng.IConfigurable
            invokevirtual org.testng.TestNG.setConfigurable:(Lorg/testng/IConfigurable;)V
        28: .line 724
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IExecutionListener
            ifeq 30
        29: .line 725
            aload 0 /* this */
            getfield org.testng.TestNG.m_configuration:Lorg/testng/internal/IConfiguration;
            aload 1 /* listener */
            checkcast org.testng.IExecutionListener
            invokeinterface org.testng.internal.IConfiguration.addExecutionListenerIfAbsent:(Lorg/testng/IExecutionListener;)Z
            pop
        30: .line 727
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IConfigurationListener
            ifeq 32
        31: .line 728
            aload 0 /* this */
            getfield org.testng.TestNG.m_configuration:Lorg/testng/internal/IConfiguration;
            aload 1 /* listener */
            checkcast org.testng.IConfigurationListener
            invokeinterface org.testng.internal.IConfiguration.addConfigurationListener:(Lorg/testng/IConfigurationListener;)V
        32: .line 730
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IAlterSuiteListener
            ifeq 35
        33: .line 731
            aload 1 /* listener */
            checkcast org.testng.IAlterSuiteListener
            astore 2 /* alter */
        start local 2 // org.testng.IAlterSuiteListener alter
        34: .line 732
            aload 0 /* this */
            getfield org.testng.TestNG.m_alterSuiteListeners:Ljava/util/Map;
            aload 2 /* alter */
            invokestatic org.testng.TestNG.maybeAddListener:(Ljava/util/Map;Ljava/lang/Object;)V
        end local 2 // org.testng.IAlterSuiteListener alter
        35: .line 734
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IDataProviderListener
            ifeq 38
        36: .line 735
            aload 1 /* listener */
            checkcast org.testng.IDataProviderListener
            astore 2 /* dataProvider */
        start local 2 // org.testng.IDataProviderListener dataProvider
        37: .line 736
            aload 0 /* this */
            getfield org.testng.TestNG.m_dataProviderListeners:Ljava/util/Map;
            aload 2 /* dataProvider */
            invokestatic org.testng.TestNG.maybeAddListener:(Ljava/util/Map;Ljava/lang/Object;)V
        end local 2 // org.testng.IDataProviderListener dataProvider
        38: .line 738
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IDataProviderInterceptor
            ifeq 41
        39: .line 739
            aload 1 /* listener */
            checkcast org.testng.IDataProviderInterceptor
            astore 2 /* interceptor */
        start local 2 // org.testng.IDataProviderInterceptor interceptor
        40: .line 740
            aload 0 /* this */
            getfield org.testng.TestNG.m_dataProviderInterceptors:Ljava/util/Map;
            aload 2 /* interceptor */
            invokestatic org.testng.TestNG.maybeAddListener:(Ljava/util/Map;Ljava/lang/Object;)V
        end local 2 // org.testng.IDataProviderInterceptor interceptor
        41: .line 742
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.testng.ITestNGListener listener
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   42     0          this  Lorg/testng/TestNG;
            0   42     1      listener  Lorg/testng/ITestNGListener;
            4    5     2    visualiser  Lorg/testng/IExecutionVisualiser;
            7    8     2         suite  Lorg/testng/ISuiteListener;
           10   11     2          test  Lorg/testng/ITestListener;
           13   14     2         clazz  Lorg/testng/IClassListener;
           16   17     2      reporter  Lorg/testng/IReporter;
           23   24     2        method  Lorg/testng/IInvokedMethodListener;
           34   35     2         alter  Lorg/testng/IAlterSuiteListener;
           37   38     2  dataProvider  Lorg/testng/IDataProviderListener;
           40   41     2   interceptor  Lorg/testng/IDataProviderInterceptor;
    MethodParameters:
          Name  Flags
      listener  

  public java.util.Set<org.testng.IReporter> getReporters();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 749
            aload 0 /* this */
            getfield org.testng.TestNG.m_reporters:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokestatic org.testng.collections.Sets.newHashSet:(Ljava/util/Collection;)Ljava/util/Set;
            areturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;
    Signature: ()Ljava/util/Set<Lorg/testng/IReporter;>;

  public java.util.List<org.testng.ITestListener> getTestListeners();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 753
            aload 0 /* this */
            getfield org.testng.TestNG.m_testListeners:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokestatic org.testng.collections.Lists.newArrayList:(Ljava/util/Collection;)Ljava/util/List;
            areturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;
    Signature: ()Ljava/util/List<Lorg/testng/ITestListener;>;

  public java.util.List<org.testng.ISuiteListener> getSuiteListeners();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 757
            aload 0 /* this */
            getfield org.testng.TestNG.m_suiteListeners:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokestatic org.testng.collections.Lists.newArrayList:(Ljava/util/Collection;)Ljava/util/List;
            areturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;
    Signature: ()Ljava/util/List<Lorg/testng/ISuiteListener;>;

  public void setVerbose(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // int verbose
         0: .line 792
            aload 0 /* this */
            iload 1 /* verbose */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putfield org.testng.TestNG.m_verbose:Ljava/lang/Integer;
         1: .line 793
            return
        end local 1 // int verbose
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/testng/TestNG;
            0    2     1  verbose  I
    MethodParameters:
         Name  Flags
      verbose  

  public void setExecutorFactoryClass(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.String clazzName
         0: .line 796
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* clazzName */
            invokevirtual org.testng.TestNG.createExecutorFactoryInstanceUsing:(Ljava/lang/String;)Lorg/testng/thread/IExecutorFactory;
            putfield org.testng.TestNG.m_executorFactory:Lorg/testng/thread/IExecutorFactory;
         1: .line 797
            return
        end local 1 // java.lang.String clazzName
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/testng/TestNG;
            0    2     1  clazzName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      clazzName  

  private org.testng.thread.IExecutorFactory createExecutorFactoryInstanceUsing(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/testng/thread/IExecutorFactory;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.String clazzName
         0: .line 800
            aload 1 /* clazzName */
            invokestatic org.testng.internal.ClassHelper.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* cls */
        start local 2 // java.lang.Class cls
         1: .line 801
            aload 2 /* cls */
            invokestatic org.testng.internal.InstanceCreator.newInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            astore 3 /* instance */
        start local 3 // java.lang.Object instance
         2: .line 802
            aload 3 /* instance */
            instanceof org.testng.thread.IExecutorFactory
            ifeq 4
         3: .line 803
            aload 3 /* instance */
            checkcast org.testng.thread.IExecutorFactory
            areturn
         4: .line 805
      StackMap locals: java.lang.Class java.lang.Object
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         5: .line 806
            new java.lang.StringBuilder
            dup
            aload 1 /* clazzName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " does not implement "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc Lorg/testng/thread/IExecutorFactory;
            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;
         6: .line 805
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.Object instance
        end local 2 // java.lang.Class cls
        end local 1 // java.lang.String clazzName
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/testng/TestNG;
            0    7     1  clazzName  Ljava/lang/String;
            1    7     2        cls  Ljava/lang/Class<*>;
            2    7     3   instance  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      clazzName  

  public void setExecutorFactory(org.testng.thread.IExecutorFactory);
    descriptor: (Lorg/testng/thread/IExecutorFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.thread.IExecutorFactory factory
         0: .line 810
            aload 0 /* this */
            aload 1 /* factory */
            putfield org.testng.TestNG.m_executorFactory:Lorg/testng/thread/IExecutorFactory;
         1: .line 811
            return
        end local 1 // org.testng.thread.IExecutorFactory factory
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/testng/TestNG;
            0    2     1  factory  Lorg/testng/thread/IExecutorFactory;
    MethodParameters:
         Name  Flags
      factory  

  public org.testng.thread.IExecutorFactory getExecutorFactory();
    descriptor: ()Lorg/testng/thread/IExecutorFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 814
            aload 0 /* this */
            getfield org.testng.TestNG.m_executorFactory:Lorg/testng/thread/IExecutorFactory;
            ifnonnull 2
         1: .line 815
            aload 0 /* this */
            aload 0 /* this */
            ldc "org.testng.internal.thread.DefaultThreadPoolExecutorFactory"
            invokevirtual org.testng.TestNG.createExecutorFactoryInstanceUsing:(Ljava/lang/String;)Lorg/testng/thread/IExecutorFactory;
            putfield org.testng.TestNG.m_executorFactory:Lorg/testng/thread/IExecutorFactory;
         2: .line 817
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_executorFactory:Lorg/testng/thread/IExecutorFactory;
            areturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/testng/TestNG;

  private void initializeCommandLineSuites();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 821
            aload 0 /* this */
            getfield org.testng.TestNG.m_commandLineTestClasses:[Ljava/lang/Class;
            ifnonnull 1
            aload 0 /* this */
            getfield org.testng.TestNG.m_commandLineMethods:Ljava/util/List;
            ifnull 15
         1: .line 822
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_commandLineMethods:Ljava/util/List;
            ifnull 4
         2: .line 823
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.testng.TestNG.m_commandLineMethods:Ljava/util/List;
            invokevirtual org.testng.TestNG.createCommandLineSuitesForMethods:(Ljava/util/List;)Ljava/util/List;
            putfield org.testng.TestNG.m_cmdlineSuites:Ljava/util/List;
         3: .line 824
            goto 5
         4: .line 825
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.testng.TestNG.m_commandLineTestClasses:[Ljava/lang/Class;
            invokevirtual org.testng.TestNG.createCommandLineSuitesForClasses:([Ljava/lang/Class;)Ljava/util/List;
            putfield org.testng.TestNG.m_cmdlineSuites:Ljava/util/List;
         5: .line 828
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_cmdlineSuites:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 14
      StackMap locals: org.testng.TestNG top java.util.Iterator
      StackMap stack:
         6: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 1 /* s */
        start local 1 // org.testng.xml.XmlSuite s
         7: .line 829
            aload 1 /* s */
            invokevirtual org.testng.xml.XmlSuite.getTests:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 10
      StackMap locals: org.testng.TestNG org.testng.xml.XmlSuite java.util.Iterator top java.util.Iterator
      StackMap stack:
         8: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlTest
            astore 3 /* t */
        start local 3 // org.testng.xml.XmlTest t
         9: .line 830
            aload 3 /* t */
            aload 0 /* this */
            getfield org.testng.TestNG.m_preserveOrder:Ljava/lang/Boolean;
            invokevirtual org.testng.xml.XmlTest.setPreserveOrder:(Ljava/lang/Boolean;)V
        end local 3 // org.testng.xml.XmlTest t
        10: .line 829
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 832
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            aload 1 /* s */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 833
            aload 0 /* this */
            getfield org.testng.TestNG.m_groupByInstances:Ljava/lang/Boolean;
            ifnull 14
        13: .line 834
            aload 1 /* s */
            aload 0 /* this */
            getfield org.testng.TestNG.m_groupByInstances:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual org.testng.xml.XmlSuite.setGroupByInstances:(Z)V
        end local 1 // org.testng.xml.XmlSuite s
        14: .line 828
      StackMap locals: org.testng.TestNG top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        15: .line 838
      StackMap locals: org.testng.TestNG
      StackMap stack:
            return
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/testng/TestNG;
            7   14     1     s  Lorg/testng/xml/XmlSuite;
            9   10     3     t  Lorg/testng/xml/XmlTest;

  private void initializeCommandLineSuitesParams();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 841
            aload 0 /* this */
            getfield org.testng.TestNG.m_cmdlineSuites:Ljava/util/List;
            ifnonnull 2
         1: .line 842
            return
         2: .line 845
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_cmdlineSuites:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 10
      StackMap locals: org.testng.TestNG top java.util.Iterator
      StackMap stack:
         3: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 1 /* s */
        start local 1 // org.testng.xml.XmlSuite s
         4: .line 846
            aload 0 /* this */
            getfield org.testng.TestNG.m_threadCount:I
            iconst_m1
            if_icmpeq 6
         5: .line 847
            aload 1 /* s */
            aload 0 /* this */
            getfield org.testng.TestNG.m_threadCount:I
            invokevirtual org.testng.xml.XmlSuite.setThreadCount:(I)V
         6: .line 849
      StackMap locals: org.testng.TestNG org.testng.xml.XmlSuite java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_parallelMode:Lorg/testng/xml/XmlSuite$ParallelMode;
            ifnull 8
         7: .line 850
            aload 1 /* s */
            aload 0 /* this */
            getfield org.testng.TestNG.m_parallelMode:Lorg/testng/xml/XmlSuite$ParallelMode;
            invokevirtual org.testng.xml.XmlSuite.setParallel:(Lorg/testng/xml/XmlSuite$ParallelMode;)V
         8: .line 852
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_configFailurePolicy:Lorg/testng/xml/XmlSuite$FailurePolicy;
            ifnull 10
         9: .line 853
            aload 1 /* s */
            aload 0 /* this */
            getfield org.testng.TestNG.m_configFailurePolicy:Lorg/testng/xml/XmlSuite$FailurePolicy;
            invokevirtual org.testng.xml.XmlSuite.setConfigFailurePolicy:(Lorg/testng/xml/XmlSuite$FailurePolicy;)V
        end local 1 // org.testng.xml.XmlSuite s
        10: .line 845
      StackMap locals: org.testng.TestNG top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        11: .line 856
            return
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/testng/TestNG;
            4   10     1     s  Lorg/testng/xml/XmlSuite;

  private void initializeCommandLineSuitesGroups();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 861
            aload 0 /* this */
            getfield org.testng.TestNG.m_includedGroups:[Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield org.testng.TestNG.m_includedGroups:[Ljava/lang/String;
            arraylength
            ifle 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 1 /* hasIncludedGroups */
        start local 1 // boolean hasIncludedGroups
         3: .line 862
            aload 0 /* this */
            getfield org.testng.TestNG.m_excludedGroups:[Ljava/lang/String;
            ifnull 4
            aload 0 /* this */
            getfield org.testng.TestNG.m_excludedGroups:[Ljava/lang/String;
            arraylength
            ifle 4
            iconst_1
            goto 5
      StackMap locals: int
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 2 /* hasExcludedGroups */
        start local 2 // boolean hasExcludedGroups
         6: .line 863
            aload 0 /* this */
            getfield org.testng.TestNG.m_cmdlineSuites:Ljava/util/List;
            ifnull 7
            aload 0 /* this */
            getfield org.testng.TestNG.m_cmdlineSuites:Ljava/util/List;
            goto 8
      StackMap locals: int
      StackMap stack:
         7: aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
      StackMap locals:
      StackMap stack: java.util.List
         8: astore 3 /* suites */
        start local 3 // java.util.List suites
         9: .line 864
            iload 1 /* hasIncludedGroups */
            ifne 10
            iload 2 /* hasExcludedGroups */
            ifeq 15
        10: .line 865
      StackMap locals: java.util.List
      StackMap stack:
            aload 3 /* suites */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 14
      StackMap locals: org.testng.TestNG int int java.util.List top java.util.Iterator
      StackMap stack:
        11: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 4 /* s */
        start local 4 // org.testng.xml.XmlSuite s
        12: .line 867
            aload 4 /* s */
            iload 1 /* hasIncludedGroups */
            aload 0 /* this */
            getfield org.testng.TestNG.m_includedGroups:[Ljava/lang/String;
            iload 2 /* hasExcludedGroups */
            aload 0 /* this */
            getfield org.testng.TestNG.m_excludedGroups:[Ljava/lang/String;
        13: .line 866
            invokestatic org.testng.TestNG.initializeCommandLineSuitesGroups:(Lorg/testng/xml/XmlSuite;Z[Ljava/lang/String;Z[Ljava/lang/String;)V
        end local 4 // org.testng.xml.XmlSuite s
        14: .line 865
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        15: .line 870
      StackMap locals: org.testng.TestNG int int java.util.List
      StackMap stack:
            return
        end local 3 // java.util.List suites
        end local 2 // boolean hasExcludedGroups
        end local 1 // boolean hasIncludedGroups
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   16     0               this  Lorg/testng/TestNG;
            3   16     1  hasIncludedGroups  Z
            6   16     2  hasExcludedGroups  Z
            9   16     3             suites  Ljava/util/List<Lorg/testng/xml/XmlSuite;>;
           12   14     4                  s  Lorg/testng/xml/XmlSuite;

  private static void initializeCommandLineSuitesGroups(org.testng.xml.XmlSuite, boolean, java.lang.String[], boolean, java.lang.String[]);
    descriptor: (Lorg/testng/xml/XmlSuite;Z[Ljava/lang/String;Z[Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.testng.xml.XmlSuite s
        start local 1 // boolean hasIncludedGroups
        start local 2 // java.lang.String[] m_includedGroups
        start local 3 // boolean hasExcludedGroups
        start local 4 // java.lang.String[] m_excludedGroups
         0: .line 878
            iload 1 /* hasIncludedGroups */
            ifeq 2
         1: .line 879
            aload 0 /* s */
            aload 2 /* m_includedGroups */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual org.testng.xml.XmlSuite.setIncludedGroups:(Ljava/util/List;)V
         2: .line 881
      StackMap locals:
      StackMap stack:
            iload 3 /* hasExcludedGroups */
            ifeq 4
         3: .line 882
            aload 0 /* s */
            aload 4 /* m_excludedGroups */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual org.testng.xml.XmlSuite.setExcludedGroups:(Ljava/util/List;)V
         4: .line 884
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            invokevirtual org.testng.xml.XmlSuite.getChildSuites:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 8
      StackMap locals: org.testng.xml.XmlSuite int java.lang.String[] int java.lang.String[] top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 5 /* child */
        start local 5 // org.testng.xml.XmlSuite child
         6: .line 886
            aload 5 /* child */
            iload 1 /* hasIncludedGroups */
            aload 2 /* m_includedGroups */
            iload 3 /* hasExcludedGroups */
            aload 4 /* m_excludedGroups */
         7: .line 885
            invokestatic org.testng.TestNG.initializeCommandLineSuitesGroups:(Lorg/testng/xml/XmlSuite;Z[Ljava/lang/String;Z[Ljava/lang/String;)V
        end local 5 // org.testng.xml.XmlSuite child
         8: .line 884
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         9: .line 888
            return
        end local 4 // java.lang.String[] m_excludedGroups
        end local 3 // boolean hasExcludedGroups
        end local 2 // java.lang.String[] m_includedGroups
        end local 1 // boolean hasIncludedGroups
        end local 0 // org.testng.xml.XmlSuite s
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0                  s  Lorg/testng/xml/XmlSuite;
            0   10     1  hasIncludedGroups  Z
            0   10     2   m_includedGroups  [Ljava/lang/String;
            0   10     3  hasExcludedGroups  Z
            0   10     4   m_excludedGroups  [Ljava/lang/String;
            6    8     5              child  Lorg/testng/xml/XmlSuite;
    MethodParameters:
                   Name  Flags
      s                  
      hasIncludedGroups  
      m_includedGroups   
      hasExcludedGroups  
      m_excludedGroups   

  private void addReporter(java.lang.Class<? extends org.testng.IReporter>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.Class r
         0: .line 891
            aload 0 /* this */
            getfield org.testng.TestNG.m_reporters:Ljava/util/Map;
            aload 1 /* r */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 892
            aload 0 /* this */
            getfield org.testng.TestNG.m_reporters:Ljava/util/Map;
            aload 1 /* r */
            aload 1 /* r */
            invokestatic org.testng.internal.InstanceCreator.newInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.testng.IReporter
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 894
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Class r
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/testng/TestNG;
            0    3     1     r  Ljava/lang/Class<+Lorg/testng/IReporter;>;
    Signature: (Ljava/lang/Class<+Lorg/testng/IReporter;>;)V
    MethodParameters:
      Name  Flags
      r     

  private void initializeDefaultListeners();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 897
            aload 0 /* this */
            getfield org.testng.TestNG.m_failIfAllTestsSkipped:Z
            ifeq 2
         1: .line 898
            aload 0 /* this */
            getfield org.testng.TestNG.exitCodeListener:Lorg/testng/internal/ExitCodeListener;
            invokevirtual org.testng.internal.ExitCodeListener.failIfAllTestsSkipped:()V
         2: .line 900
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.testng.TestNG.exitCodeListener:Lorg/testng/internal/ExitCodeListener;
            invokevirtual org.testng.TestNG.addListener:(Lorg/testng/ITestNGListener;)V
         3: .line 901
            aload 0 /* this */
            getfield org.testng.TestNG.m_useDefaultListeners:Z
            ifeq 16
         4: .line 902
            aload 0 /* this */
            ldc Lorg/testng/reporters/SuiteHTMLReporter;
            invokevirtual org.testng.TestNG.addReporter:(Ljava/lang/Class;)V
         5: .line 903
            aload 0 /* this */
            ldc Lorg/testng/reporters/jq/Main;
            invokevirtual org.testng.TestNG.addReporter:(Ljava/lang/Class;)V
         6: .line 904
            aload 0 /* this */
            ldc Lorg/testng/reporters/FailedReporter;
            invokevirtual org.testng.TestNG.addReporter:(Ljava/lang/Class;)V
         7: .line 905
            aload 0 /* this */
            ldc Lorg/testng/reporters/XMLReporter;
            invokevirtual org.testng.TestNG.addReporter:(Ljava/lang/Class;)V
         8: .line 906
            invokestatic org.testng.internal.RuntimeBehavior.useOldTestNGEmailableReporter:()Z
            ifeq 11
         9: .line 907
            aload 0 /* this */
            ldc Lorg/testng/reporters/EmailableReporter;
            invokevirtual org.testng.TestNG.addReporter:(Ljava/lang/Class;)V
        10: .line 908
            goto 13
      StackMap locals:
      StackMap stack:
        11: invokestatic org.testng.internal.RuntimeBehavior.useEmailableReporter:()Z
            ifeq 13
        12: .line 909
            aload 0 /* this */
            ldc Lorg/testng/reporters/EmailableReporter2;
            invokevirtual org.testng.TestNG.addReporter:(Ljava/lang/Class;)V
        13: .line 911
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc Lorg/testng/reporters/JUnitReportReporter;
            invokevirtual org.testng.TestNG.addReporter:(Ljava/lang/Class;)V
        14: .line 912
            aload 0 /* this */
            getfield org.testng.TestNG.m_verbose:Ljava/lang/Integer;
            ifnull 16
            aload 0 /* this */
            getfield org.testng.TestNG.m_verbose:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            iconst_4
            if_icmple 16
        15: .line 913
            aload 0 /* this */
            new org.testng.reporters.VerboseReporter
            dup
            ldc "[TestNG] "
            invokespecial org.testng.reporters.VerboseReporter.<init>:(Ljava/lang/String;)V
            invokevirtual org.testng.TestNG.addListener:(Lorg/testng/ITestNGListener;)V
        16: .line 916
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lorg/testng/TestNG;

  private void initializeConfiguration();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 919
            aload 0 /* this */
            getfield org.testng.TestNG.m_objectFactory:Lorg/testng/ITestObjectFactory;
            astore 1 /* factory */
        start local 1 // org.testng.ITestObjectFactory factory
         1: .line 924
            aload 0 /* this */
            invokevirtual org.testng.TestNG.addServiceLoaderListeners:()V
         2: .line 929
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 15
      StackMap locals: org.testng.TestNG org.testng.ITestObjectFactory top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 2 /* s */
        start local 2 // org.testng.xml.XmlSuite s
         4: .line 930
            aload 0 /* this */
            aload 2 /* s */
            invokevirtual org.testng.TestNG.addListeners:(Lorg/testng/xml/XmlSuite;)V
         5: .line 935
            aload 2 /* s */
            invokevirtual org.testng.xml.XmlSuite.getMethodSelectors:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: org.testng.TestNG org.testng.ITestObjectFactory org.testng.xml.XmlSuite java.util.Iterator top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlMethodSelector
            astore 4 /* methodSelector */
        start local 4 // org.testng.xml.XmlMethodSelector methodSelector
         7: .line 936
            aload 0 /* this */
            aload 4 /* methodSelector */
            invokevirtual org.testng.xml.XmlMethodSelector.getClassName:()Ljava/lang/String;
            aload 4 /* methodSelector */
            invokevirtual org.testng.xml.XmlMethodSelector.getPriority:()I
            invokevirtual org.testng.TestNG.addMethodSelector:(Ljava/lang/String;I)V
         8: .line 937
            aload 0 /* this */
            aload 4 /* methodSelector */
            invokevirtual org.testng.TestNG.addMethodSelector:(Lorg/testng/xml/XmlMethodSelector;)V
        end local 4 // org.testng.xml.XmlMethodSelector methodSelector
         9: .line 935
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 943
            aload 2 /* s */
            invokevirtual org.testng.xml.XmlSuite.getObjectFactory:()Lorg/testng/ITestObjectFactory;
            ifnull 15
        11: .line 944
            aload 1 /* factory */
            ifnonnull 14
        12: .line 945
            aload 2 /* s */
            invokevirtual org.testng.xml.XmlSuite.getObjectFactory:()Lorg/testng/ITestObjectFactory;
            astore 1 /* factory */
        13: .line 946
            goto 15
        14: .line 947
      StackMap locals: org.testng.TestNG org.testng.ITestObjectFactory org.testng.xml.XmlSuite java.util.Iterator
      StackMap stack:
            new org.testng.TestNGException
            dup
            ldc "Found more than one object-factory tag in your suites"
            invokespecial org.testng.TestNGException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // org.testng.xml.XmlSuite s
        15: .line 929
      StackMap locals: org.testng.TestNG org.testng.ITestObjectFactory top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        16: .line 952
            aload 0 /* this */
            getfield org.testng.TestNG.m_configuration:Lorg/testng/internal/IConfiguration;
            new org.testng.internal.annotations.JDK15AnnotationFinder
            dup
            aload 0 /* this */
            invokevirtual org.testng.TestNG.getAnnotationTransformer:()Lorg/testng/IAnnotationTransformer;
            invokespecial org.testng.internal.annotations.JDK15AnnotationFinder.<init>:(Lorg/testng/IAnnotationTransformer;)V
            invokeinterface org.testng.internal.IConfiguration.setAnnotationFinder:(Lorg/testng/internal/annotations/IAnnotationFinder;)V
        17: .line 953
            aload 0 /* this */
            getfield org.testng.TestNG.m_configuration:Lorg/testng/internal/IConfiguration;
            aload 0 /* this */
            getfield org.testng.TestNG.m_hookable:Lorg/testng/IHookable;
            invokeinterface org.testng.internal.IConfiguration.setHookable:(Lorg/testng/IHookable;)V
        18: .line 954
            aload 0 /* this */
            getfield org.testng.TestNG.m_configuration:Lorg/testng/internal/IConfiguration;
            aload 0 /* this */
            getfield org.testng.TestNG.m_configurable:Lorg/testng/IConfigurable;
            invokeinterface org.testng.internal.IConfiguration.setConfigurable:(Lorg/testng/IConfigurable;)V
        19: .line 955
            aload 0 /* this */
            getfield org.testng.TestNG.m_configuration:Lorg/testng/internal/IConfiguration;
            aload 1 /* factory */
            invokeinterface org.testng.internal.IConfiguration.setObjectFactory:(Lorg/testng/ITestObjectFactory;)V
        20: .line 956
            aload 0 /* this */
            getfield org.testng.TestNG.m_configuration:Lorg/testng/internal/IConfiguration;
            aload 0 /* this */
            getfield org.testng.TestNG.m_alwaysRun:Z
            invokeinterface org.testng.internal.IConfiguration.setAlwaysRunListeners:(Z)V
        21: .line 957
            aload 0 /* this */
            getfield org.testng.TestNG.m_configuration:Lorg/testng/internal/IConfiguration;
            aload 0 /* this */
            invokevirtual org.testng.TestNG.getExecutorFactory:()Lorg/testng/thread/IExecutorFactory;
            invokeinterface org.testng.internal.IConfiguration.setExecutorFactory:(Lorg/testng/thread/IExecutorFactory;)V
        22: .line 958
            return
        end local 1 // org.testng.ITestObjectFactory factory
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0            this  Lorg/testng/TestNG;
            1   23     1         factory  Lorg/testng/ITestObjectFactory;
            4   15     2               s  Lorg/testng/xml/XmlSuite;
            7    9     4  methodSelector  Lorg/testng/xml/XmlMethodSelector;

  private void addListeners(org.testng.xml.XmlSuite);
    descriptor: (Lorg/testng/xml/XmlSuite;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.xml.XmlSuite s
         0: .line 961
            aload 1 /* s */
            invokevirtual org.testng.xml.XmlSuite.getListeners:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: org.testng.TestNG org.testng.xml.XmlSuite top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* listenerName */
        start local 2 // java.lang.String listenerName
         2: .line 962
            aload 2 /* listenerName */
            invokestatic org.testng.internal.ClassHelper.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* listenerClass */
        start local 4 // java.lang.Class listenerClass
         3: .line 965
            aload 4 /* listenerClass */
            ifnonnull 7
         4: .line 966
            new org.testng.TestNGException
            dup
         5: .line 967
            new java.lang.StringBuilder
            dup
            ldc "Listener "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* listenerName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " was not found in project's classpath"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 966
            invokespecial org.testng.TestNGException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 970
      StackMap locals: org.testng.TestNG org.testng.xml.XmlSuite java.lang.String java.util.Iterator java.lang.Class
      StackMap stack:
            aload 4 /* listenerClass */
            invokestatic org.testng.internal.InstanceCreator.newInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.testng.ITestNGListener
            astore 5 /* listener */
        start local 5 // org.testng.ITestNGListener listener
         8: .line 971
            aload 0 /* this */
            aload 5 /* listener */
            invokevirtual org.testng.TestNG.addListener:(Lorg/testng/ITestNGListener;)V
        end local 5 // org.testng.ITestNGListener listener
        end local 4 // java.lang.Class listenerClass
        end local 2 // java.lang.String listenerName
         9: .line 961
      StackMap locals: org.testng.TestNG org.testng.xml.XmlSuite top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 975
            aload 1 /* s */
            invokevirtual org.testng.xml.XmlSuite.getChildSuites:()Ljava/util/List;
            astore 2 /* childSuites */
        start local 2 // java.util.List childSuites
        11: .line 976
            aload 2 /* childSuites */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 14
      StackMap locals: org.testng.TestNG org.testng.xml.XmlSuite java.util.List top java.util.Iterator
      StackMap stack:
        12: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 3 /* c */
        start local 3 // org.testng.xml.XmlSuite c
        13: .line 977
            aload 0 /* this */
            aload 3 /* c */
            invokevirtual org.testng.TestNG.addListeners:(Lorg/testng/xml/XmlSuite;)V
        end local 3 // org.testng.xml.XmlSuite c
        14: .line 976
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        15: .line 979
            return
        end local 2 // java.util.List childSuites
        end local 1 // org.testng.xml.XmlSuite s
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lorg/testng/TestNG;
            0   16     1              s  Lorg/testng/xml/XmlSuite;
            2    9     2   listenerName  Ljava/lang/String;
            3    9     4  listenerClass  Ljava/lang/Class<*>;
            8    9     5       listener  Lorg/testng/ITestNGListener;
           11   16     2    childSuites  Ljava/util/List<Lorg/testng/xml/XmlSuite;>;
           13   14     3              c  Lorg/testng/xml/XmlSuite;
    MethodParameters:
      Name  Flags
      s     

  private void addServiceLoaderListeners();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 984
            aload 0 /* this */
            getfield org.testng.TestNG.m_serviceLoaderClassLoader:Ljava/net/URLClassLoader;
            ifnull 2
         1: .line 985
            ldc Lorg/testng/ITestNGListener;
            aload 0 /* this */
            getfield org.testng.TestNG.m_serviceLoaderClassLoader:Ljava/net/URLClassLoader;
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
            goto 3
         2: .line 986
      StackMap locals:
      StackMap stack:
            ldc Lorg/testng/ITestNGListener;
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;)Ljava/util/ServiceLoader;
         3: .line 983
      StackMap locals:
      StackMap stack: java.util.ServiceLoader
            astore 1 /* loader */
        start local 1 // java.lang.Iterable loader
         4: .line 987
            aload 1 /* loader */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 12
      StackMap locals: org.testng.TestNG java.lang.Iterable top java.util.Iterator
      StackMap stack:
         5: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.ITestNGListener
            astore 2 /* l */
        start local 2 // org.testng.ITestNGListener l
         6: .line 988
            ldc "[TestNG]"
            iconst_2
            new java.lang.StringBuilder
            dup
            ldc "Adding ServiceLoader listener:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* l */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.testng.internal.Utils.log:(Ljava/lang/String;ILjava/lang/String;)V
         7: .line 989
            aload 0 /* this */
            getfield org.testng.TestNG.m_listenersToSkipFromBeingWiredIn:Ljava/util/List;
            aload 2 /* l */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 990
            ldc "[TestNG]"
            iconst_2
            new java.lang.StringBuilder
            dup
            ldc "Skipping adding the listener :"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* l */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.testng.internal.Utils.log:(Ljava/lang/String;ILjava/lang/String;)V
         9: .line 991
            goto 12
        10: .line 993
      StackMap locals: org.testng.TestNG java.lang.Iterable org.testng.ITestNGListener java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 2 /* l */
            invokevirtual org.testng.TestNG.addListener:(Lorg/testng/ITestNGListener;)V
        11: .line 994
            aload 0 /* this */
            aload 2 /* l */
            invokevirtual org.testng.TestNG.addServiceLoaderListener:(Lorg/testng/ITestNGListener;)V
        end local 2 // org.testng.ITestNGListener l
        12: .line 987
      StackMap locals: org.testng.TestNG java.lang.Iterable top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        13: .line 996
            return
        end local 1 // java.lang.Iterable loader
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/testng/TestNG;
            4   14     1  loader  Ljava/lang/Iterable<Lorg/testng/ITestNGListener;>;
            6   12     2       l  Lorg/testng/ITestNGListener;

  private void sanityCheck();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1005
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            invokestatic org.testng.xml.internal.XmlSuiteUtils.validateIfSuitesContainDuplicateTests:(Ljava/util/List;)V
         1: .line 1006
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            invokestatic org.testng.xml.internal.XmlSuiteUtils.adjustSuiteNamesToEnsureUniqueness:(Ljava/util/List;)V
         2: .line 1007
            return
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/testng/TestNG;

  public void initializeEverything();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1013
            aload 0 /* this */
            getfield org.testng.TestNG.m_isInitialized:Z
            ifeq 2
         1: .line 1014
            return
         2: .line 1017
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.testng.TestNG.initializeSuitesAndJarFile:()V
         3: .line 1018
            aload 0 /* this */
            invokevirtual org.testng.TestNG.initializeConfiguration:()V
         4: .line 1019
            aload 0 /* this */
            invokevirtual org.testng.TestNG.initializeDefaultListeners:()V
         5: .line 1020
            aload 0 /* this */
            invokevirtual org.testng.TestNG.initializeCommandLineSuites:()V
         6: .line 1021
            aload 0 /* this */
            invokevirtual org.testng.TestNG.initializeCommandLineSuitesParams:()V
         7: .line 1022
            aload 0 /* this */
            invokevirtual org.testng.TestNG.initializeCommandLineSuitesGroups:()V
         8: .line 1024
            aload 0 /* this */
            iconst_1
            putfield org.testng.TestNG.m_isInitialized:Z
         9: .line 1025
            return
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/testng/TestNG;

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1029
            aload 0 /* this */
            invokevirtual org.testng.TestNG.initializeEverything:()V
         1: .line 1030
            aload 0 /* this */
            invokevirtual org.testng.TestNG.sanityCheck:()V
         2: .line 1032
            aload 0 /* this */
            iconst_1
            invokevirtual org.testng.TestNG.runExecutionListeners:(Z)V
         3: .line 1034
            aload 0 /* this */
            invokevirtual org.testng.TestNG.runSuiteAlterationListeners:()V
         4: .line 1036
            aload 0 /* this */
            invokestatic java.lang.System.currentTimeMillis:()J
            putfield org.testng.TestNG.m_start:J
         5: .line 1037
            aload 0 /* this */
            invokevirtual org.testng.TestNG.runSuites:()Ljava/util/List;
            astore 1 /* suiteRunners */
        start local 1 // java.util.List suiteRunners
         6: .line 1039
            aload 0 /* this */
            invokestatic java.lang.System.currentTimeMillis:()J
            putfield org.testng.TestNG.m_end:J
         7: .line 1041
            aload 1 /* suiteRunners */
            ifnull 9
         8: .line 1042
            aload 0 /* this */
            aload 1 /* suiteRunners */
            invokevirtual org.testng.TestNG.generateReports:(Ljava/util/List;)V
         9: .line 1045
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.testng.TestNG.runExecutionListeners:(Z)V
        10: .line 1046
            aload 0 /* this */
            aload 0 /* this */
            getfield org.testng.TestNG.exitCodeListener:Lorg/testng/internal/ExitCodeListener;
            invokevirtual org.testng.internal.ExitCodeListener.getStatus:()Lorg/testng/internal/ExitCode;
            putfield org.testng.TestNG.exitCode:Lorg/testng/internal/ExitCode;
        11: .line 1048
            aload 0 /* this */
            getfield org.testng.TestNG.exitCodeListener:Lorg/testng/internal/ExitCodeListener;
            invokevirtual org.testng.internal.ExitCodeListener.noTestsFound:()Z
            ifeq 15
        12: .line 1049
            invokestatic org.testng.TestRunner.getVerbose:()I
            iconst_1
            if_icmple 15
        13: .line 1050
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "[TestNG] No tests found. Nothing was run"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        14: .line 1051
            invokestatic org.testng.TestNG.usage:()V
        15: .line 1055
      StackMap locals:
      StackMap stack:
            aconst_null
            putstatic org.testng.TestNG.m_instance:Lorg/testng/TestNG;
        16: .line 1056
            aconst_null
            putstatic org.testng.TestNG.m_jCommander:Lcom/beust/jcommander/JCommander;
        17: .line 1057
            return
        end local 1 // java.util.List suiteRunners
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Lorg/testng/TestNG;
            6   18     1  suiteRunners  Ljava/util/List<Lorg/testng/ISuite;>;

  protected java.util.List<org.testng.ISuite> runSuites();
    descriptor: ()Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1069
            aload 0 /* this */
            invokevirtual org.testng.TestNG.runSuitesLocally:()Ljava/util/List;
            areturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;
    Signature: ()Ljava/util/List<Lorg/testng/ISuite;>;

  private void runSuiteAlterationListeners();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1073
            aload 0 /* this */
            getfield org.testng.TestNG.m_alterSuiteListeners:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: org.testng.TestNG top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.IAlterSuiteListener
            astore 1 /* l */
        start local 1 // org.testng.IAlterSuiteListener l
         2: .line 1074
            aload 1 /* l */
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            invokeinterface org.testng.IAlterSuiteListener.alter:(Ljava/util/List;)V
        end local 1 // org.testng.IAlterSuiteListener l
         3: .line 1073
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 1076
            return
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/testng/TestNG;
            2    3     1     l  Lorg/testng/IAlterSuiteListener;

  private void runExecutionListeners(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=4, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // boolean start
         0: .line 1079
            aload 0 /* this */
            getfield org.testng.TestNG.m_configuration:Lorg/testng/internal/IConfiguration;
            invokeinterface org.testng.internal.IConfiguration.getExecutionListeners:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: org.testng.TestNG int top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.IExecutionListener
            astore 2 /* l */
        start local 2 // org.testng.IExecutionListener l
         2: .line 1080
            iload 1 /* start */
            ifeq 5
         3: .line 1081
            aload 2 /* l */
            invokeinterface org.testng.IExecutionListener.onExecutionStart:()V
         4: .line 1082
            goto 6
         5: .line 1083
      StackMap locals: org.testng.TestNG int org.testng.IExecutionListener java.util.Iterator
      StackMap stack:
            aload 2 /* l */
            invokeinterface org.testng.IExecutionListener.onExecutionFinish:()V
        end local 2 // org.testng.IExecutionListener l
         6: .line 1079
      StackMap locals: org.testng.TestNG int top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 1086
            return
        end local 1 // boolean start
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/testng/TestNG;
            0    8     1  start  Z
            2    6     2      l  Lorg/testng/IExecutionListener;
    MethodParameters:
       Name  Flags
      start  

  private static void usage();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 1089
            getstatic org.testng.TestNG.m_jCommander:Lcom/beust/jcommander/JCommander;
            ifnonnull 2
         1: .line 1090
            new com.beust.jcommander.JCommander
            dup
            new org.testng.CommandLineArgs
            dup
            invokespecial org.testng.CommandLineArgs.<init>:()V
            invokespecial com.beust.jcommander.JCommander.<init>:(Ljava/lang/Object;)V
            putstatic org.testng.TestNG.m_jCommander:Lcom/beust/jcommander/JCommander;
         2: .line 1092
      StackMap locals:
      StackMap stack:
            getstatic org.testng.TestNG.m_jCommander:Lcom/beust/jcommander/JCommander;
            invokevirtual com.beust.jcommander.JCommander.usage:()V
         3: .line 1093
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void generateReports(java.util.List<org.testng.ISuite>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.util.List suiteRunners
         0: .line 1096
            aload 0 /* this */
            getfield org.testng.TestNG.m_reporters:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 12
      StackMap locals: org.testng.TestNG java.util.List top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.IReporter
            astore 2 /* reporter */
        start local 2 // org.testng.IReporter reporter
         2: .line 1098
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 4 /* start */
        start local 4 // long start
         3: .line 1099
            aload 2 /* reporter */
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            aload 1 /* suiteRunners */
            aload 0 /* this */
            getfield org.testng.TestNG.m_outputDir:Ljava/lang/String;
            invokeinterface org.testng.IReporter.generateReport:(Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
         4: .line 1101
            ldc "TestNG"
         5: .line 1102
            iconst_2
         6: .line 1103
            new java.lang.StringBuilder
            dup
            ldc "Time taken by "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* reporter */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 4 /* start */
            lsub
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " ms"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 1100
            invokestatic org.testng.internal.Utils.log:(Ljava/lang/String;ILjava/lang/String;)V
        end local 4 // long start
         8: .line 1104
            goto 12
      StackMap locals: org.testng.TestNG java.util.List org.testng.IReporter java.util.Iterator
      StackMap stack: java.lang.Exception
         9: astore 4 /* ex */
        start local 4 // java.lang.Exception ex
        10: .line 1105
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "[TestNG] Reporter "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* reporter */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " failed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 1106
            aload 4 /* ex */
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
        end local 4 // java.lang.Exception ex
        end local 2 // org.testng.IReporter reporter
        12: .line 1096
      StackMap locals: org.testng.TestNG java.util.List top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        13: .line 1109
            return
        end local 1 // java.util.List suiteRunners
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/testng/TestNG;
            0   14     1  suiteRunners  Ljava/util/List<Lorg/testng/ISuite;>;
            2   12     2      reporter  Lorg/testng/IReporter;
            3    8     4         start  J
           10   12     4            ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     8       9  Class java.lang.Exception
    Signature: (Ljava/util/List<Lorg/testng/ISuite;>;)V
    MethodParameters:
              Name  Flags
      suiteRunners  

  public java.util.List<org.testng.ISuite> runSuitesLocally();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=6, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1116
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 4
         1: .line 1117
            ldc "No test suite found. Nothing to run"
            invokestatic org.testng.TestNG.error:(Ljava/lang/String;)V
         2: .line 1118
            invokestatic org.testng.TestNG.usage:()V
         3: .line 1119
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         4: .line 1122
      StackMap locals:
      StackMap stack:
            new org.testng.internal.SuiteRunnerMap
            dup
            invokespecial org.testng.internal.SuiteRunnerMap.<init>:()V
            astore 1 /* suiteRunnerMap */
        start local 1 // org.testng.internal.SuiteRunnerMap suiteRunnerMap
         5: .line 1124
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            invokevirtual org.testng.xml.XmlSuite.getVerbose:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            iconst_2
            if_icmplt 7
         6: .line 1125
            invokestatic org.testng.internal.Version.displayBanner:()V
         7: .line 1130
      StackMap locals: org.testng.internal.SuiteRunnerMap
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: org.testng.TestNG org.testng.internal.SuiteRunnerMap top java.util.Iterator
      StackMap stack:
         8: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 2 /* xmlSuite */
        start local 2 // org.testng.xml.XmlSuite xmlSuite
         9: .line 1131
            aload 0 /* this */
            aload 1 /* suiteRunnerMap */
            aload 2 /* xmlSuite */
            invokevirtual org.testng.TestNG.createSuiteRunners:(Lorg/testng/internal/SuiteRunnerMap;Lorg/testng/xml/XmlSuite;)V
        end local 2 // org.testng.xml.XmlSuite xmlSuite
        10: .line 1130
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 1137
            aload 0 /* this */
            getfield org.testng.TestNG.m_suiteThreadPoolSize:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            if_icmpne 19
            aload 0 /* this */
            getfield org.testng.TestNG.m_randomizeSuites:Z
            ifne 19
        12: .line 1139
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 17
      StackMap locals:
      StackMap stack:
        13: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 2 /* xmlSuite */
        start local 2 // org.testng.xml.XmlSuite xmlSuite
        14: .line 1140
            aload 0 /* this */
        15: .line 1141
            aload 2 /* xmlSuite */
            aload 1 /* suiteRunnerMap */
            aload 0 /* this */
            aload 2 /* xmlSuite */
            invokevirtual org.testng.TestNG.getVerbose:(Lorg/testng/xml/XmlSuite;)I
            aload 0 /* this */
            invokevirtual org.testng.TestNG.getDefaultSuiteName:()Ljava/lang/String;
        16: .line 1140
            invokevirtual org.testng.TestNG.runSuitesSequentially:(Lorg/testng/xml/XmlSuite;Lorg/testng/internal/SuiteRunnerMap;ILjava/lang/String;)V
        end local 2 // org.testng.xml.XmlSuite xmlSuite
        17: .line 1139
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        18: .line 1146
            aload 1 /* suiteRunnerMap */
            invokevirtual org.testng.internal.SuiteRunnerMap.values:()Ljava/util/Collection;
            invokestatic org.testng.collections.Lists.newArrayList:(Ljava/util/Collection;)Ljava/util/List;
            areturn
        19: .line 1151
      StackMap locals: org.testng.TestNG org.testng.internal.SuiteRunnerMap
      StackMap stack:
            new org.testng.internal.DynamicGraph
            dup
            invokespecial org.testng.internal.DynamicGraph.<init>:()V
            astore 2 /* suiteGraph */
        start local 2 // org.testng.IDynamicGraph suiteGraph
        20: .line 1152
            aload 0 /* this */
            getfield org.testng.TestNG.m_suites:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 23
      StackMap locals: org.testng.TestNG org.testng.internal.SuiteRunnerMap org.testng.IDynamicGraph top java.util.Iterator
      StackMap stack:
        21: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 3 /* xmlSuite */
        start local 3 // org.testng.xml.XmlSuite xmlSuite
        22: .line 1153
            aload 0 /* this */
            aload 2 /* suiteGraph */
            aload 1 /* suiteRunnerMap */
            aload 3 /* xmlSuite */
            invokevirtual org.testng.TestNG.populateSuiteGraph:(Lorg/testng/IDynamicGraph;Lorg/testng/internal/SuiteRunnerMap;Lorg/testng/xml/XmlSuite;)V
        end local 3 // org.testng.xml.XmlSuite xmlSuite
        23: .line 1152
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        24: .line 1157
            new org.testng.internal.thread.graph.SuiteWorkerFactory
            dup
        25: .line 1158
            aload 1 /* suiteRunnerMap */
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            invokevirtual org.testng.TestNG.getDefaultSuiteName:()Ljava/lang/String;
        26: .line 1157
            invokespecial org.testng.internal.thread.graph.SuiteWorkerFactory.<init>:(Lorg/testng/internal/SuiteRunnerMap;Ljava/lang/Integer;Ljava/lang/String;)V
        27: .line 1156
            astore 3 /* factory */
        start local 3 // org.testng.thread.IThreadWorkerFactory factory
        28: .line 1159
            aload 0 /* this */
            invokevirtual org.testng.TestNG.getExecutorFactory:()Lorg/testng/thread/IExecutorFactory;
        29: .line 1160
            ldc "suites"
        30: .line 1161
            aload 2 /* suiteGraph */
        31: .line 1162
            aload 3 /* factory */
        32: .line 1163
            aload 0 /* this */
            getfield org.testng.TestNG.m_suiteThreadPoolSize:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
        33: .line 1164
            aload 0 /* this */
            getfield org.testng.TestNG.m_suiteThreadPoolSize:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
        34: .line 1165
            ldc 2147483647
        35: .line 1166
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
        36: .line 1167
            new java.util.concurrent.LinkedBlockingQueue
            dup
            invokespecial java.util.concurrent.LinkedBlockingQueue.<init>:()V
        37: .line 1168
            aconst_null
        38: .line 1159
            invokeinterface org.testng.thread.IExecutorFactory.newSuiteExecutor:(Ljava/lang/String;Lorg/testng/IDynamicGraph;Lorg/testng/thread/IThreadWorkerFactory;IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/Comparator;)Lorg/testng/thread/ITestNGThreadPoolExecutor;
            astore 4 /* pooledExecutor */
        start local 4 // org.testng.thread.ITestNGThreadPoolExecutor pooledExecutor
        39: .line 1170
            ldc "TestNG"
            iconst_2
            ldc "Starting executor for all suites"
            invokestatic org.testng.internal.Utils.log:(Ljava/lang/String;ILjava/lang/String;)V
        40: .line 1172
            aload 4 /* pooledExecutor */
            invokeinterface org.testng.thread.ITestNGThreadPoolExecutor.run:()V
        41: .line 1174
            aload 4 /* pooledExecutor */
            ldc 9223372036854775807
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokeinterface org.testng.thread.ITestNGThreadPoolExecutor.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
            pop
        42: .line 1175
            aload 4 /* pooledExecutor */
            invokeinterface org.testng.thread.ITestNGThreadPoolExecutor.shutdownNow:()Ljava/util/List;
            pop
        43: .line 1176
            goto 47
      StackMap locals: org.testng.TestNG org.testng.internal.SuiteRunnerMap org.testng.IDynamicGraph org.testng.thread.IThreadWorkerFactory org.testng.thread.ITestNGThreadPoolExecutor
      StackMap stack: java.lang.InterruptedException
        44: astore 5 /* handled */
        start local 5 // java.lang.InterruptedException handled
        45: .line 1177
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        46: .line 1178
            new java.lang.StringBuilder
            dup
            ldc "Error waiting for concurrent executors to finish "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* handled */
            invokevirtual java.lang.InterruptedException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.testng.TestNG.error:(Ljava/lang/String;)V
        end local 5 // java.lang.InterruptedException handled
        47: .line 1184
      StackMap locals:
      StackMap stack:
            aload 1 /* suiteRunnerMap */
            invokevirtual org.testng.internal.SuiteRunnerMap.values:()Ljava/util/Collection;
            invokestatic org.testng.collections.Lists.newArrayList:(Ljava/util/Collection;)Ljava/util/List;
            areturn
        end local 4 // org.testng.thread.ITestNGThreadPoolExecutor pooledExecutor
        end local 3 // org.testng.thread.IThreadWorkerFactory factory
        end local 2 // org.testng.IDynamicGraph suiteGraph
        end local 1 // org.testng.internal.SuiteRunnerMap suiteRunnerMap
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   48     0            this  Lorg/testng/TestNG;
            5   48     1  suiteRunnerMap  Lorg/testng/internal/SuiteRunnerMap;
            9   10     2        xmlSuite  Lorg/testng/xml/XmlSuite;
           14   17     2        xmlSuite  Lorg/testng/xml/XmlSuite;
           20   48     2      suiteGraph  Lorg/testng/IDynamicGraph<Lorg/testng/ISuite;>;
           22   23     3        xmlSuite  Lorg/testng/xml/XmlSuite;
           28   48     3         factory  Lorg/testng/thread/IThreadWorkerFactory<Lorg/testng/ISuite;>;
           39   48     4  pooledExecutor  Lorg/testng/thread/ITestNGThreadPoolExecutor;
           45   47     5         handled  Ljava/lang/InterruptedException;
      Exception table:
        from    to  target  type
          41    43      44  Class java.lang.InterruptedException
    Signature: ()Ljava/util/List<Lorg/testng/ISuite;>;

  private static void error(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 1188
            getstatic org.testng.TestNG.LOGGER:Lorg/testng/log4testng/Logger;
            aload 0 /* s */
            invokevirtual org.testng.log4testng.Logger.error:(Ljava/lang/Object;)V
         1: .line 1189
            return
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  private int getVerbose(org.testng.xml.XmlSuite);
    descriptor: (Lorg/testng/xml/XmlSuite;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.xml.XmlSuite xmlSuite
         0: .line 1196
            aload 1 /* xmlSuite */
            invokevirtual org.testng.xml.XmlSuite.getVerbose:()Ljava/lang/Integer;
            ifnull 2
         1: .line 1197
            aload 1 /* xmlSuite */
            invokevirtual org.testng.xml.XmlSuite.getVerbose:()Ljava/lang/Integer;
            goto 4
         2: .line 1198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_verbose:Ljava/lang/Integer;
            ifnull 3
            aload 0 /* this */
            getfield org.testng.TestNG.m_verbose:Ljava/lang/Integer;
            goto 4
      StackMap locals:
      StackMap stack:
         3: getstatic org.testng.TestNG.DEFAULT_VERBOSE:Ljava/lang/Integer;
         4: .line 1196
      StackMap locals:
      StackMap stack: java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 1 // org.testng.xml.XmlSuite xmlSuite
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/testng/TestNG;
            0    5     1  xmlSuite  Lorg/testng/xml/XmlSuite;
    MethodParameters:
          Name  Flags
      xmlSuite  

  private void runSuitesSequentially(org.testng.xml.XmlSuite, org.testng.internal.SuiteRunnerMap, int, java.lang.String);
    descriptor: (Lorg/testng/xml/XmlSuite;Lorg/testng/internal/SuiteRunnerMap;ILjava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.xml.XmlSuite xmlSuite
        start local 2 // org.testng.internal.SuiteRunnerMap suiteRunnerMap
        start local 3 // int verbose
        start local 4 // java.lang.String defaultSuiteName
         0: .line 1212
            aload 1 /* xmlSuite */
            invokevirtual org.testng.xml.XmlSuite.getChildSuites:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 3
      StackMap locals: org.testng.TestNG org.testng.xml.XmlSuite org.testng.internal.SuiteRunnerMap int java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 5 /* childSuite */
        start local 5 // org.testng.xml.XmlSuite childSuite
         2: .line 1213
            aload 0 /* this */
            aload 5 /* childSuite */
            aload 2 /* suiteRunnerMap */
            iload 3 /* verbose */
            aload 4 /* defaultSuiteName */
            invokevirtual org.testng.TestNG.runSuitesSequentially:(Lorg/testng/xml/XmlSuite;Lorg/testng/internal/SuiteRunnerMap;ILjava/lang/String;)V
        end local 5 // org.testng.xml.XmlSuite childSuite
         3: .line 1212
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 1216
            new org.testng.SuiteRunnerWorker
            dup
         5: .line 1217
            aload 2 /* suiteRunnerMap */
            aload 1 /* xmlSuite */
            invokevirtual org.testng.internal.SuiteRunnerMap.get:(Lorg/testng/xml/XmlSuite;)Lorg/testng/ISuite;
            aload 2 /* suiteRunnerMap */
            iload 3 /* verbose */
            aload 4 /* defaultSuiteName */
         6: .line 1216
            invokespecial org.testng.SuiteRunnerWorker.<init>:(Lorg/testng/ISuite;Lorg/testng/internal/SuiteRunnerMap;ILjava/lang/String;)V
         7: .line 1215
            astore 5 /* srw */
        start local 5 // org.testng.SuiteRunnerWorker srw
         8: .line 1218
            aload 5 /* srw */
            invokevirtual org.testng.SuiteRunnerWorker.run:()V
         9: .line 1219
            return
        end local 5 // org.testng.SuiteRunnerWorker srw
        end local 4 // java.lang.String defaultSuiteName
        end local 3 // int verbose
        end local 2 // org.testng.internal.SuiteRunnerMap suiteRunnerMap
        end local 1 // org.testng.xml.XmlSuite xmlSuite
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lorg/testng/TestNG;
            0   10     1          xmlSuite  Lorg/testng/xml/XmlSuite;
            0   10     2    suiteRunnerMap  Lorg/testng/internal/SuiteRunnerMap;
            0   10     3           verbose  I
            0   10     4  defaultSuiteName  Ljava/lang/String;
            2    3     5        childSuite  Lorg/testng/xml/XmlSuite;
            8   10     5               srw  Lorg/testng/SuiteRunnerWorker;
    MethodParameters:
                  Name  Flags
      xmlSuite          
      suiteRunnerMap    
      verbose           
      defaultSuiteName  

  private void populateSuiteGraph(org.testng.IDynamicGraph<org.testng.ISuite>, org.testng.internal.SuiteRunnerMap, org.testng.xml.XmlSuite);
    descriptor: (Lorg/testng/IDynamicGraph;Lorg/testng/internal/SuiteRunnerMap;Lorg/testng/xml/XmlSuite;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.IDynamicGraph suiteGraph
        start local 2 // org.testng.internal.SuiteRunnerMap suiteRunnerMap
        start local 3 // org.testng.xml.XmlSuite xmlSuite
         0: .line 1232
            aload 2 /* suiteRunnerMap */
            aload 3 /* xmlSuite */
            invokevirtual org.testng.internal.SuiteRunnerMap.get:(Lorg/testng/xml/XmlSuite;)Lorg/testng/ISuite;
            astore 4 /* parentSuiteRunner */
        start local 4 // org.testng.ISuite parentSuiteRunner
         1: .line 1233
            aload 3 /* xmlSuite */
            invokevirtual org.testng.xml.XmlSuite.getChildSuites:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 4
         2: .line 1234
            aload 1 /* suiteGraph */
            aload 4 /* parentSuiteRunner */
            invokeinterface org.testng.IDynamicGraph.addNode:(Ljava/lang/Object;)Z
            pop
         3: .line 1235
            goto 9
         4: .line 1236
      StackMap locals: org.testng.ISuite
      StackMap stack:
            aload 3 /* xmlSuite */
            invokevirtual org.testng.xml.XmlSuite.getChildSuites:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 8
      StackMap locals: org.testng.TestNG org.testng.IDynamicGraph org.testng.internal.SuiteRunnerMap org.testng.xml.XmlSuite org.testng.ISuite top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 5 /* childSuite */
        start local 5 // org.testng.xml.XmlSuite childSuite
         6: .line 1237
            aload 1 /* suiteGraph */
            iconst_0
            aload 4 /* parentSuiteRunner */
            aload 2 /* suiteRunnerMap */
            aload 5 /* childSuite */
            invokevirtual org.testng.internal.SuiteRunnerMap.get:(Lorg/testng/xml/XmlSuite;)Lorg/testng/ISuite;
            invokeinterface org.testng.IDynamicGraph.addEdge:(ILjava/lang/Object;Ljava/lang/Object;)V
         7: .line 1238
            aload 0 /* this */
            aload 1 /* suiteGraph */
            aload 2 /* suiteRunnerMap */
            aload 5 /* childSuite */
            invokevirtual org.testng.TestNG.populateSuiteGraph:(Lorg/testng/IDynamicGraph;Lorg/testng/internal/SuiteRunnerMap;Lorg/testng/xml/XmlSuite;)V
        end local 5 // org.testng.xml.XmlSuite childSuite
         8: .line 1236
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         9: .line 1241
      StackMap locals: org.testng.TestNG org.testng.IDynamicGraph org.testng.internal.SuiteRunnerMap org.testng.xml.XmlSuite org.testng.ISuite
      StackMap stack:
            return
        end local 4 // org.testng.ISuite parentSuiteRunner
        end local 3 // org.testng.xml.XmlSuite xmlSuite
        end local 2 // org.testng.internal.SuiteRunnerMap suiteRunnerMap
        end local 1 // org.testng.IDynamicGraph suiteGraph
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0               this  Lorg/testng/TestNG;
            0   10     1         suiteGraph  Lorg/testng/IDynamicGraph<Lorg/testng/ISuite;>;
            0   10     2     suiteRunnerMap  Lorg/testng/internal/SuiteRunnerMap;
            0   10     3           xmlSuite  Lorg/testng/xml/XmlSuite;
            1   10     4  parentSuiteRunner  Lorg/testng/ISuite;
            6    8     5         childSuite  Lorg/testng/xml/XmlSuite;
    Signature: (Lorg/testng/IDynamicGraph<Lorg/testng/ISuite;>;Lorg/testng/internal/SuiteRunnerMap;Lorg/testng/xml/XmlSuite;)V
    MethodParameters:
                Name  Flags
      suiteGraph      
      suiteRunnerMap  
      xmlSuite        

  private void createSuiteRunners(org.testng.internal.SuiteRunnerMap, org.testng.xml.XmlSuite);
    descriptor: (Lorg/testng/internal/SuiteRunnerMap;Lorg/testng/xml/XmlSuite;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.internal.SuiteRunnerMap suiteRunnerMap
        start local 2 // org.testng.xml.XmlSuite xmlSuite
         0: .line 1251
            aload 0 /* this */
            getfield org.testng.TestNG.m_isJUnit:Ljava/lang/Boolean;
            ifnull 2
            aload 0 /* this */
            getfield org.testng.TestNG.m_isJUnit:Ljava/lang/Boolean;
            getstatic org.testng.xml.XmlSuite.DEFAULT_JUNIT:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 1252
            aload 2 /* xmlSuite */
            aload 0 /* this */
            getfield org.testng.TestNG.m_isJUnit:Ljava/lang/Boolean;
            invokevirtual org.testng.xml.XmlSuite.setJUnit:(Ljava/lang/Boolean;)V
         2: .line 1257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_skipFailedInvocationCounts:Ljava/lang/Boolean;
            ifnull 4
         3: .line 1258
            aload 2 /* xmlSuite */
            aload 0 /* this */
            getfield org.testng.TestNG.m_skipFailedInvocationCounts:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual org.testng.xml.XmlSuite.setSkipFailedInvocationCounts:(Z)V
         4: .line 1262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_verbose:Ljava/lang/Integer;
            ifnull 6
         5: .line 1263
            aload 2 /* xmlSuite */
            aload 0 /* this */
            getfield org.testng.TestNG.m_verbose:Ljava/lang/Integer;
            invokevirtual org.testng.xml.XmlSuite.setVerbose:(Ljava/lang/Integer;)V
         6: .line 1266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestNG.m_configFailurePolicy:Lorg/testng/xml/XmlSuite$FailurePolicy;
            ifnull 8
         7: .line 1267
            aload 2 /* xmlSuite */
            aload 0 /* this */
            getfield org.testng.TestNG.m_configFailurePolicy:Lorg/testng/xml/XmlSuite$FailurePolicy;
            invokevirtual org.testng.xml.XmlSuite.setConfigFailurePolicy:(Lorg/testng/xml/XmlSuite$FailurePolicy;)V
         8: .line 1270
      StackMap locals:
      StackMap stack:
            invokestatic org.testng.collections.Sets.newHashSet:()Ljava/util/Set;
            astore 3 /* selectors */
        start local 3 // java.util.Set selectors
         9: .line 1271
            aload 2 /* xmlSuite */
            invokevirtual org.testng.xml.XmlSuite.getTests:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 20
      StackMap locals: org.testng.TestNG org.testng.internal.SuiteRunnerMap org.testng.xml.XmlSuite java.util.Set top java.util.Iterator
      StackMap stack:
        10: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlTest
            astore 4 /* t */
        start local 4 // org.testng.xml.XmlTest t
        11: .line 1272
            aload 0 /* this */
            getfield org.testng.TestNG.m_methodDescriptors:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 17
      StackMap locals: org.testng.TestNG org.testng.internal.SuiteRunnerMap org.testng.xml.XmlSuite java.util.Set org.testng.xml.XmlTest java.util.Iterator top java.util.Iterator
      StackMap stack:
        12: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* ms */
        start local 6 // java.util.Map$Entry ms
        13: .line 1273
            new org.testng.xml.XmlMethodSelector
            dup
            invokespecial org.testng.xml.XmlMethodSelector.<init>:()V
            astore 8 /* xms */
        start local 8 // org.testng.xml.XmlMethodSelector xms
        14: .line 1274
            aload 8 /* xms */
            aload 6 /* ms */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual org.testng.xml.XmlMethodSelector.setName:(Ljava/lang/String;)V
        15: .line 1275
            aload 8 /* xms */
            aload 6 /* ms */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual org.testng.xml.XmlMethodSelector.setPriority:(I)V
        16: .line 1276
            aload 3 /* selectors */
            aload 8 /* xms */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.testng.xml.XmlMethodSelector xms
        end local 6 // java.util.Map$Entry ms
        17: .line 1272
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        18: .line 1278
            aload 3 /* selectors */
            aload 0 /* this */
            getfield org.testng.TestNG.m_selectors:Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        19: .line 1279
            aload 4 /* t */
            invokevirtual org.testng.xml.XmlTest.getMethodSelectors:()Ljava/util/List;
            aload 3 /* selectors */
            invokestatic org.testng.collections.Lists.newArrayList:(Ljava/util/Collection;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 4 // org.testng.xml.XmlTest t
        20: .line 1271
      StackMap locals: org.testng.TestNG org.testng.internal.SuiteRunnerMap org.testng.xml.XmlSuite java.util.Set top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        21: .line 1282
            aload 1 /* suiteRunnerMap */
            aload 2 /* xmlSuite */
            aload 0 /* this */
            aload 2 /* xmlSuite */
            invokevirtual org.testng.TestNG.createSuiteRunner:(Lorg/testng/xml/XmlSuite;)Lorg/testng/SuiteRunner;
            invokevirtual org.testng.internal.SuiteRunnerMap.put:(Lorg/testng/xml/XmlSuite;Lorg/testng/ISuite;)V
        22: .line 1284
            aload 2 /* xmlSuite */
            invokevirtual org.testng.xml.XmlSuite.getChildSuites:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 25
      StackMap locals:
      StackMap stack:
        23: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 4 /* childSuite */
        start local 4 // org.testng.xml.XmlSuite childSuite
        24: .line 1285
            aload 0 /* this */
            aload 1 /* suiteRunnerMap */
            aload 4 /* childSuite */
            invokevirtual org.testng.TestNG.createSuiteRunners:(Lorg/testng/internal/SuiteRunnerMap;Lorg/testng/xml/XmlSuite;)V
        end local 4 // org.testng.xml.XmlSuite childSuite
        25: .line 1284
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        26: .line 1287
            return
        end local 3 // java.util.Set selectors
        end local 2 // org.testng.xml.XmlSuite xmlSuite
        end local 1 // org.testng.internal.SuiteRunnerMap suiteRunnerMap
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   27     0            this  Lorg/testng/TestNG;
            0   27     1  suiteRunnerMap  Lorg/testng/internal/SuiteRunnerMap;
            0   27     2        xmlSuite  Lorg/testng/xml/XmlSuite;
            9   27     3       selectors  Ljava/util/Set<Lorg/testng/xml/XmlMethodSelector;>;
           11   20     4               t  Lorg/testng/xml/XmlTest;
           13   17     6              ms  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Integer;>;
           14   17     8             xms  Lorg/testng/xml/XmlMethodSelector;
           24   25     4      childSuite  Lorg/testng/xml/XmlSuite;
    MethodParameters:
                Name  Flags
      suiteRunnerMap  
      xmlSuite        

  private org.testng.SuiteRunner createSuiteRunner(org.testng.xml.XmlSuite);
    descriptor: (Lorg/testng/xml/XmlSuite;)Lorg/testng/SuiteRunner;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=6, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.xml.XmlSuite xmlSuite
         0: .line 1291
            new org.testng.DataProviderHolder
            dup
            invokespecial org.testng.DataProviderHolder.<init>:()V
            astore 2 /* holder */
        start local 2 // org.testng.DataProviderHolder holder
         1: .line 1292
            aload 2 /* holder */
            aload 0 /* this */
            getfield org.testng.TestNG.m_dataProviderListeners:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokevirtual org.testng.DataProviderHolder.addListeners:(Ljava/util/Collection;)V
         2: .line 1293
            aload 2 /* holder */
            aload 0 /* this */
            getfield org.testng.TestNG.m_dataProviderInterceptors:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokevirtual org.testng.DataProviderHolder.addInterceptors:(Ljava/util/Collection;)V
         3: .line 1295
            new org.testng.SuiteRunner
            dup
         4: .line 1296
            aload 0 /* this */
            invokevirtual org.testng.TestNG.getConfiguration:()Lorg/testng/internal/IConfiguration;
         5: .line 1297
            aload 1 /* xmlSuite */
         6: .line 1298
            aload 0 /* this */
            getfield org.testng.TestNG.m_outputDir:Ljava/lang/String;
         7: .line 1299
            aload 0 /* this */
            getfield org.testng.TestNG.m_testRunnerFactory:Lorg/testng/ITestRunnerFactory;
         8: .line 1300
            aload 0 /* this */
            getfield org.testng.TestNG.m_useDefaultListeners:Z
         9: .line 1301
            aload 0 /* this */
            getfield org.testng.TestNG.m_methodInterceptors:Ljava/util/List;
        10: .line 1302
            aload 0 /* this */
            getfield org.testng.TestNG.m_invokedMethodListeners:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
        11: .line 1303
            aload 0 /* this */
            getfield org.testng.TestNG.m_testListeners:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
        12: .line 1304
            aload 0 /* this */
            getfield org.testng.TestNG.m_classListeners:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
        13: .line 1305
            aload 2 /* holder */
        14: .line 1306
            invokestatic org.testng.internal.Systematiser.getComparator:()Ljava/util/Comparator;
        15: .line 1295
            invokespecial org.testng.SuiteRunner.<init>:(Lorg/testng/internal/IConfiguration;Lorg/testng/xml/XmlSuite;Ljava/lang/String;Lorg/testng/ITestRunnerFactory;ZLjava/util/List;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;Lorg/testng/DataProviderHolder;Ljava/util/Comparator;)V
        16: .line 1294
            astore 3 /* result */
        start local 3 // org.testng.SuiteRunner result
        17: .line 1308
            aload 0 /* this */
            getfield org.testng.TestNG.m_suiteListeners:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 20
      StackMap locals: org.testng.TestNG org.testng.xml.XmlSuite org.testng.DataProviderHolder org.testng.SuiteRunner top java.util.Iterator
      StackMap stack:
        18: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.ISuiteListener
            astore 4 /* isl */
        start local 4 // org.testng.ISuiteListener isl
        19: .line 1309
            aload 3 /* result */
            aload 4 /* isl */
            invokevirtual org.testng.SuiteRunner.addListener:(Lorg/testng/ISuiteListener;)V
        end local 4 // org.testng.ISuiteListener isl
        20: .line 1308
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        21: .line 1312
            aload 3 /* result */
            invokevirtual org.testng.SuiteRunner.getReporters:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 24
      StackMap locals:
      StackMap stack:
        22: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.IReporter
            astore 4 /* r */
        start local 4 // org.testng.IReporter r
        23: .line 1313
            aload 0 /* this */
            getfield org.testng.TestNG.m_reporters:Ljava/util/Map;
            aload 4 /* r */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 4 /* r */
            iconst_1
            invokestatic org.testng.TestNG.maybeAddListener:(Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Object;Z)V
        end local 4 // org.testng.IReporter r
        24: .line 1312
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        25: .line 1316
            aload 0 /* this */
            getfield org.testng.TestNG.m_configuration:Lorg/testng/internal/IConfiguration;
            invokeinterface org.testng.internal.IConfiguration.getConfigurationListeners:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 28
      StackMap locals:
      StackMap stack:
        26: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.IConfigurationListener
            astore 4 /* cl */
        start local 4 // org.testng.IConfigurationListener cl
        27: .line 1317
            aload 3 /* result */
            aload 4 /* cl */
            invokevirtual org.testng.SuiteRunner.addConfigurationListener:(Lorg/testng/IConfigurationListener;)V
        end local 4 // org.testng.IConfigurationListener cl
        28: .line 1316
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        29: .line 1320
            aload 0 /* this */
            getfield org.testng.TestNG.m_executionVisualisers:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 3 /* result */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Lorg/testng/SuiteRunner;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/testng/SuiteRunner.addListener(Lorg/testng/ITestNGListener;)V (5)
                  (Lorg/testng/IExecutionVisualiser;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
        30: .line 1322
            aload 3 /* result */
            areturn
        end local 3 // org.testng.SuiteRunner result
        end local 2 // org.testng.DataProviderHolder holder
        end local 1 // org.testng.xml.XmlSuite xmlSuite
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   31     0      this  Lorg/testng/TestNG;
            0   31     1  xmlSuite  Lorg/testng/xml/XmlSuite;
            1   31     2    holder  Lorg/testng/DataProviderHolder;
           17   31     3    result  Lorg/testng/SuiteRunner;
           19   20     4       isl  Lorg/testng/ISuiteListener;
           23   24     4         r  Lorg/testng/IReporter;
           27   28     4        cl  Lorg/testng/IConfigurationListener;
    MethodParameters:
          Name  Flags
      xmlSuite  

  protected org.testng.internal.IConfiguration getConfiguration();
    descriptor: ()Lorg/testng/internal/IConfiguration;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1326
            aload 0 /* this */
            getfield org.testng.TestNG.m_configuration:Lorg/testng/internal/IConfiguration;
            areturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String[] argv
         0: .line 1335
            aload 0 /* argv */
            aconst_null
            invokestatic org.testng.TestNG.privateMain:([Ljava/lang/String;Lorg/testng/ITestListener;)Lorg/testng/TestNG;
            astore 1 /* testng */
        start local 1 // org.testng.TestNG testng
         1: .line 1336
            aload 1 /* testng */
            invokevirtual org.testng.TestNG.getStatus:()I
            invokestatic java.lang.System.exit:(I)V
         2: .line 1337
            return
        end local 1 // org.testng.TestNG testng
        end local 0 // java.lang.String[] argv
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    argv  [Ljava/lang/String;
            1    3     1  testng  Lorg/testng/TestNG;
    MethodParameters:
      Name  Flags
      argv  

  public static org.testng.TestNG privateMain(java.lang.String[], org.testng.ITestListener);
    descriptor: ([Ljava/lang/String;Lorg/testng/ITestListener;)Lorg/testng/TestNG;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String[] argv
        start local 1 // org.testng.ITestListener listener
         0: .line 1347
            new org.testng.TestNG
            dup
            invokespecial org.testng.TestNG.<init>:()V
            astore 2 /* result */
        start local 2 // org.testng.TestNG result
         1: .line 1349
            aload 1 /* listener */
            ifnull 3
         2: .line 1350
            aload 2 /* result */
            aload 1 /* listener */
            invokevirtual org.testng.TestNG.addListener:(Lorg/testng/ITestNGListener;)V
         3: .line 1357
      StackMap locals: org.testng.TestNG
      StackMap stack:
            new org.testng.CommandLineArgs
            dup
            invokespecial org.testng.CommandLineArgs.<init>:()V
            astore 3 /* cla */
        start local 3 // org.testng.CommandLineArgs cla
         4: .line 1359
            new com.beust.jcommander.JCommander
            dup
            aload 3 /* cla */
            invokespecial com.beust.jcommander.JCommander.<init>:(Ljava/lang/Object;)V
            putstatic org.testng.TestNG.m_jCommander:Lcom/beust/jcommander/JCommander;
         5: .line 1360
            getstatic org.testng.TestNG.m_jCommander:Lcom/beust/jcommander/JCommander;
            aload 0 /* argv */
            invokevirtual com.beust.jcommander.JCommander.parse:([Ljava/lang/String;)V
         6: .line 1361
            aload 3 /* cla */
            invokestatic org.testng.TestNG.validateCommandLineParameters:(Lorg/testng/CommandLineArgs;)V
         7: .line 1362
            aload 2 /* result */
            aload 3 /* cla */
            invokevirtual org.testng.TestNG.configure:(Lorg/testng/CommandLineArgs;)V
        end local 3 // org.testng.CommandLineArgs cla
         8: .line 1363
            goto 11
      StackMap locals:
      StackMap stack: com.beust.jcommander.ParameterException
         9: astore 3 /* ex */
        start local 3 // com.beust.jcommander.ParameterException ex
        10: .line 1364
            aload 3 /* ex */
            invokevirtual com.beust.jcommander.ParameterException.getMessage:()Ljava/lang/String;
            invokestatic org.testng.TestNG.exitWithError:(Ljava/lang/String;)V
        end local 3 // com.beust.jcommander.ParameterException ex
        11: .line 1371
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            invokevirtual org.testng.TestNG.run:()V
        12: .line 1372
            goto 19
      StackMap locals:
      StackMap stack: org.testng.TestNGException
        13: astore 3 /* ex */
        start local 3 // org.testng.TestNGException ex
        14: .line 1373
            invokestatic org.testng.TestRunner.getVerbose:()I
            iconst_1
            if_icmple 17
        15: .line 1374
            aload 3 /* ex */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual org.testng.TestNGException.printStackTrace:(Ljava/io/PrintStream;)V
        16: .line 1375
            goto 18
        17: .line 1376
      StackMap locals: org.testng.TestNGException
      StackMap stack:
            aload 3 /* ex */
            invokevirtual org.testng.TestNGException.getMessage:()Ljava/lang/String;
            invokestatic org.testng.TestNG.error:(Ljava/lang/String;)V
        18: .line 1378
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            invokestatic org.testng.internal.ExitCode.newExitCodeRepresentingFailure:()Lorg/testng/internal/ExitCode;
            putfield org.testng.TestNG.exitCode:Lorg/testng/internal/ExitCode;
        end local 3 // org.testng.TestNGException ex
        19: .line 1381
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.testng.TestNG result
        end local 1 // org.testng.ITestListener listener
        end local 0 // java.lang.String[] argv
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      argv  [Ljava/lang/String;
            0   20     1  listener  Lorg/testng/ITestListener;
            1   20     2    result  Lorg/testng/TestNG;
            4    8     3       cla  Lorg/testng/CommandLineArgs;
           10   11     3        ex  Lcom/beust/jcommander/ParameterException;
           14   19     3        ex  Lorg/testng/TestNGException;
      Exception table:
        from    to  target  type
           3     8       9  Class com.beust.jcommander.ParameterException
          11    12      13  Class org.testng.TestNGException
    MethodParameters:
          Name  Flags
      argv      
      listener  

  protected void configure(org.testng.CommandLineArgs);
    descriptor: (Lorg/testng/CommandLineArgs;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.CommandLineArgs cla
         0: .line 1390
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.verbose:Ljava/lang/Integer;
            ifnull 2
         1: .line 1391
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.verbose:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual org.testng.TestNG.setVerbose:(I)V
         2: .line 1393
      StackMap locals:
      StackMap stack:
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.dependencyInjectorFactoryClass:Ljava/lang/String;
            ifnull 6
         3: .line 1394
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.dependencyInjectorFactoryClass:Ljava/lang/String;
            invokestatic org.testng.internal.ClassHelper.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* clazz */
        start local 2 // java.lang.Class clazz
         4: .line 1395
            aload 2 /* clazz */
            ifnull 6
            ldc Lorg/testng/IInjectorFactory;
            aload 2 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 6
         5: .line 1396
            aload 0 /* this */
            getfield org.testng.TestNG.m_configuration:Lorg/testng/internal/IConfiguration;
            aload 2 /* clazz */
            invokestatic org.testng.internal.InstanceCreator.newInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.testng.IInjectorFactory
            invokeinterface org.testng.internal.IConfiguration.setInjectorFactory:(Lorg/testng/IInjectorFactory;)V
        end local 2 // java.lang.Class clazz
         6: .line 1399
      StackMap locals:
      StackMap stack:
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.threadPoolFactoryClass:Ljava/lang/String;
            ifnull 8
         7: .line 1400
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.threadPoolFactoryClass:Ljava/lang/String;
            invokevirtual org.testng.TestNG.setExecutorFactoryClass:(Ljava/lang/String;)V
         8: .line 1402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.outputDirectory:Ljava/lang/String;
            invokevirtual org.testng.TestNG.setOutputDirectory:(Ljava/lang/String;)V
         9: .line 1404
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.testClass:Ljava/lang/String;
            astore 2 /* testClasses */
        start local 2 // java.lang.String testClasses
        10: .line 1405
            aload 2 /* testClasses */
            ifnull 19
        11: .line 1406
            aload 2 /* testClasses */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* strClasses */
        start local 3 // java.lang.String[] strClasses
        12: .line 1407
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 4 /* classes */
        start local 4 // java.util.List classes
        13: .line 1408
            aload 3 /* strClasses */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 17
      StackMap locals: org.testng.TestNG org.testng.CommandLineArgs java.lang.String java.lang.String[] java.util.List top int int java.lang.String[]
      StackMap stack:
        14: aload 8
            iload 6
            aaload
            astore 5 /* c */
        start local 5 // java.lang.String c
        15: .line 1409
            aload 4 /* classes */
            aload 5 /* c */
            invokestatic org.testng.internal.ClassHelper.fileToClass:(Ljava/lang/String;)Ljava/lang/Class;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.String c
        16: .line 1408
            iinc 6 1
      StackMap locals:
      StackMap stack:
        17: iload 6
            iload 7
            if_icmplt 14
        18: .line 1412
            aload 0 /* this */
            aload 4 /* classes */
            iconst_0
            anewarray java.lang.Class
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.Class[]
            invokevirtual org.testng.TestNG.setTestClasses:([Ljava/lang/Class;)V
        end local 4 // java.util.List classes
        end local 3 // java.lang.String[] strClasses
        19: .line 1415
      StackMap locals: org.testng.TestNG org.testng.CommandLineArgs java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.outputDirectory:Ljava/lang/String;
            invokevirtual org.testng.TestNG.setOutputDirectory:(Ljava/lang/String;)V
        20: .line 1417
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.testNames:Ljava/lang/String;
            ifnull 22
        21: .line 1418
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.testNames:Ljava/lang/String;
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual org.testng.TestNG.setTestNames:(Ljava/util/List;)V
        22: .line 1423
      StackMap locals:
      StackMap stack:
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.useDefaultListeners:Ljava/lang/String;
            ifnull 24
        23: .line 1424
            aload 0 /* this */
            ldc "true"
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.useDefaultListeners:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            invokevirtual org.testng.TestNG.setUseDefaultListeners:(Z)V
        24: .line 1427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.groups:Ljava/lang/String;
            invokevirtual org.testng.TestNG.setGroups:(Ljava/lang/String;)V
        25: .line 1428
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.excludedGroups:Ljava/lang/String;
            invokevirtual org.testng.TestNG.setExcludedGroups:(Ljava/lang/String;)V
        26: .line 1429
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.testJar:Ljava/lang/String;
            invokevirtual org.testng.TestNG.setTestJar:(Ljava/lang/String;)V
        27: .line 1430
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.xmlPathInJar:Ljava/lang/String;
            invokevirtual org.testng.TestNG.setXmlPathInJar:(Ljava/lang/String;)V
        28: .line 1431
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.junit:Ljava/lang/Boolean;
            invokevirtual org.testng.TestNG.setJUnit:(Ljava/lang/Boolean;)V
        29: .line 1432
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.mixed:Ljava/lang/Boolean;
            invokevirtual org.testng.TestNG.setMixed:(Ljava/lang/Boolean;)V
        30: .line 1433
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.skipFailedInvocationCounts:Ljava/lang/Boolean;
            invokevirtual org.testng.TestNG.setSkipFailedInvocationCounts:(Ljava/lang/Boolean;)V
        31: .line 1434
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.failIfAllTestsSkipped:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual org.testng.TestNG.toggleFailureIfAllTestsWereSkipped:(Z)V
        32: .line 1435
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.spiListenersToSkip:Ljava/lang/String;
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokevirtual org.testng.TestNG.setListenersToSkipFromBeingWiredInViaServiceLoaders:([Ljava/lang/String;)V
        33: .line 1437
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.parallelMode:Lorg/testng/xml/XmlSuite$ParallelMode;
            ifnull 35
        34: .line 1438
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.parallelMode:Lorg/testng/xml/XmlSuite$ParallelMode;
            invokevirtual org.testng.TestNG.setParallel:(Lorg/testng/xml/XmlSuite$ParallelMode;)V
        35: .line 1440
      StackMap locals:
      StackMap stack:
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.configFailurePolicy:Ljava/lang/String;
            ifnull 37
        36: .line 1441
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.configFailurePolicy:Ljava/lang/String;
            invokestatic org.testng.xml.XmlSuite$FailurePolicy.getValidPolicy:(Ljava/lang/String;)Lorg/testng/xml/XmlSuite$FailurePolicy;
            invokevirtual org.testng.TestNG.setConfigFailurePolicy:(Lorg/testng/xml/XmlSuite$FailurePolicy;)V
        37: .line 1443
      StackMap locals:
      StackMap stack:
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.threadCount:Ljava/lang/Integer;
            ifnull 39
        38: .line 1444
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.threadCount:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual org.testng.TestNG.setThreadCount:(I)V
        39: .line 1446
      StackMap locals:
      StackMap stack:
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.dataProviderThreadCount:Ljava/lang/Integer;
            ifnull 41
        40: .line 1447
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.dataProviderThreadCount:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual org.testng.TestNG.setDataProviderThreadCount:(I)V
        41: .line 1449
      StackMap locals:
      StackMap stack:
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.suiteName:Ljava/lang/String;
            ifnull 43
        42: .line 1450
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.suiteName:Ljava/lang/String;
            invokevirtual org.testng.TestNG.setDefaultSuiteName:(Ljava/lang/String;)V
        43: .line 1452
      StackMap locals:
      StackMap stack:
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.testName:Ljava/lang/String;
            ifnull 45
        44: .line 1453
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.testName:Ljava/lang/String;
            invokevirtual org.testng.TestNG.setDefaultTestName:(Ljava/lang/String;)V
        45: .line 1455
      StackMap locals:
      StackMap stack:
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.listener:Ljava/lang/String;
            ifnull 59
        46: .line 1456
            ldc ";"
            astore 3 /* sep */
        start local 3 // java.lang.String sep
        47: .line 1457
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.listener:Ljava/lang/String;
            ldc ","
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 49
        48: .line 1458
            ldc ","
            astore 3 /* sep */
        49: .line 1460
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.listener:Ljava/lang/String;
            aload 3 /* sep */
            invokestatic org.testng.internal.Utils.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* strs */
        start local 4 // java.lang.String[] strs
        50: .line 1461
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 5 /* classes */
        start local 5 // java.util.List classes
        51: .line 1463
            aload 4 /* strs */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 57
      StackMap locals: org.testng.TestNG org.testng.CommandLineArgs java.lang.String java.lang.String java.lang.String[] java.util.List top int int java.lang.String[]
      StackMap stack:
        52: aload 9
            iload 7
            aaload
            astore 6 /* cls */
        start local 6 // java.lang.String cls
        53: .line 1464
            aload 6 /* cls */
            invokestatic org.testng.internal.ClassHelper.fileToClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 10 /* clazz */
        start local 10 // java.lang.Class clazz
        54: .line 1465
            ldc Lorg/testng/ITestNGListener;
            aload 10 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 56
        55: .line 1466
            aload 5 /* classes */
            aload 10 /* clazz */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // java.lang.Class clazz
        end local 6 // java.lang.String cls
        56: .line 1463
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        57: iload 7
            iload 8
            if_icmplt 52
        58: .line 1470
            aload 0 /* this */
            aload 5 /* classes */
            invokevirtual org.testng.TestNG.setListenerClasses:(Ljava/util/List;)V
        end local 5 // java.util.List classes
        end local 4 // java.lang.String[] strs
        end local 3 // java.lang.String sep
        59: .line 1473
      StackMap locals: org.testng.TestNG org.testng.CommandLineArgs java.lang.String
      StackMap stack:
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.methodSelectors:Ljava/lang/String;
            ifnull 73
        60: .line 1474
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.methodSelectors:Ljava/lang/String;
            ldc ","
            invokestatic org.testng.internal.Utils.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* strs */
        start local 3 // java.lang.String[] strs
        61: .line 1475
            aload 3 /* strs */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 72
      StackMap locals: org.testng.TestNG org.testng.CommandLineArgs java.lang.String java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        62: aload 7
            iload 5
            aaload
            astore 4 /* cls */
        start local 4 // java.lang.String cls
        63: .line 1476
            aload 4 /* cls */
            ldc ":"
            invokestatic org.testng.internal.Utils.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 8 /* sel */
        start local 8 // java.lang.String[] sel
        64: .line 1478
            aload 8 /* sel */
            arraylength
            iconst_2
            if_icmpne 67
        65: .line 1479
            aload 0 /* this */
            aload 8 /* sel */
            iconst_0
            aaload
            aload 8 /* sel */
            iconst_1
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokevirtual org.testng.TestNG.addMethodSelector:(Ljava/lang/String;I)V
        66: .line 1480
            goto 71
        67: .line 1481
      StackMap locals: org.testng.TestNG org.testng.CommandLineArgs java.lang.String java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String[]
      StackMap stack:
            ldc "Method selector value was not in the format org.example.Selector:4"
            invokestatic org.testng.TestNG.error:(Ljava/lang/String;)V
        68: .line 1483
            goto 71
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
        69: pop
        70: .line 1484
            ldc "Method selector value was not in the format org.example.Selector:4"
            invokestatic org.testng.TestNG.error:(Ljava/lang/String;)V
        end local 8 // java.lang.String[] sel
        end local 4 // java.lang.String cls
        71: .line 1475
      StackMap locals: org.testng.TestNG org.testng.CommandLineArgs java.lang.String java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        72: iload 5
            iload 6
            if_icmplt 62
        end local 3 // java.lang.String[] strs
        73: .line 1489
      StackMap locals: org.testng.TestNG org.testng.CommandLineArgs java.lang.String
      StackMap stack:
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.objectFactory:Ljava/lang/String;
            ifnull 75
        74: .line 1490
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.objectFactory:Ljava/lang/String;
            invokestatic org.testng.internal.ClassHelper.fileToClass:(Ljava/lang/String;)Ljava/lang/Class;
            invokevirtual org.testng.TestNG.setObjectFactory:(Ljava/lang/Class;)V
        75: .line 1492
      StackMap locals:
      StackMap stack:
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.testRunnerFactory:Ljava/lang/String;
            ifnull 77
        76: .line 1493
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.testRunnerFactory:Ljava/lang/String;
            invokestatic org.testng.internal.ClassHelper.fileToClass:(Ljava/lang/String;)Ljava/lang/Class;
            invokevirtual org.testng.TestNG.setTestRunnerFactoryClass:(Ljava/lang/Class;)V
        77: .line 1496
      StackMap locals:
      StackMap stack:
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.reporter:Ljava/lang/String;
            invokestatic org.testng.internal.ReporterConfig.deserialize:(Ljava/lang/String;)Lorg/testng/internal/ReporterConfig;
            astore 3 /* reporterConfig */
        start local 3 // org.testng.internal.ReporterConfig reporterConfig
        78: .line 1497
            aload 3 /* reporterConfig */
            ifnull 80
        79: .line 1498
            aload 0 /* this */
            aload 3 /* reporterConfig */
            invokevirtual org.testng.TestNG.addReporter:(Lorg/testng/internal/ReporterConfig;)V
        80: .line 1501
      StackMap locals: org.testng.internal.ReporterConfig
      StackMap stack:
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.commandLineMethods:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifle 82
        81: .line 1502
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.commandLineMethods:Ljava/util/List;
            putfield org.testng.TestNG.m_commandLineMethods:Ljava/util/List;
        82: .line 1505
      StackMap locals:
      StackMap stack:
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.suiteFiles:Ljava/util/List;
            ifnull 84
        83: .line 1506
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.suiteFiles:Ljava/util/List;
            invokevirtual org.testng.TestNG.setTestSuites:(Ljava/util/List;)V
        84: .line 1509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.suiteThreadPoolSize:Ljava/lang/Integer;
            invokevirtual org.testng.TestNG.setSuiteThreadPoolSize:(Ljava/lang/Integer;)V
        85: .line 1510
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.randomizeSuites:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual org.testng.TestNG.setRandomizeSuites:(Z)V
        86: .line 1511
            aload 0 /* this */
            aload 1 /* cla */
            getfield org.testng.CommandLineArgs.alwaysRunListeners:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual org.testng.TestNG.alwaysRunListeners:(Z)V
        87: .line 1512
            return
        end local 3 // org.testng.internal.ReporterConfig reporterConfig
        end local 2 // java.lang.String testClasses
        end local 1 // org.testng.CommandLineArgs cla
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   88     0            this  Lorg/testng/TestNG;
            0   88     1             cla  Lorg/testng/CommandLineArgs;
            4    6     2           clazz  Ljava/lang/Class<*>;
           10   88     2     testClasses  Ljava/lang/String;
           12   19     3      strClasses  [Ljava/lang/String;
           13   19     4         classes  Ljava/util/List<Ljava/lang/Class<*>;>;
           15   16     5               c  Ljava/lang/String;
           47   59     3             sep  Ljava/lang/String;
           50   59     4            strs  [Ljava/lang/String;
           51   59     5         classes  Ljava/util/List<Ljava/lang/Class<+Lorg/testng/ITestNGListener;>;>;
           53   56     6             cls  Ljava/lang/String;
           54   56    10           clazz  Ljava/lang/Class<*>;
           61   73     3            strs  [Ljava/lang/String;
           63   71     4             cls  Ljava/lang/String;
           64   71     8             sel  [Ljava/lang/String;
           78   88     3  reporterConfig  Lorg/testng/internal/ReporterConfig;
      Exception table:
        from    to  target  type
          64    68      69  Class java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      cla   

  public void setSuiteThreadPoolSize(java.lang.Integer);
    descriptor: (Ljava/lang/Integer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.Integer suiteThreadPoolSize
         0: .line 1515
            aload 0 /* this */
            aload 1 /* suiteThreadPoolSize */
            putfield org.testng.TestNG.m_suiteThreadPoolSize:Ljava/lang/Integer;
         1: .line 1516
            return
        end local 1 // java.lang.Integer suiteThreadPoolSize
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/testng/TestNG;
            0    2     1  suiteThreadPoolSize  Ljava/lang/Integer;
    MethodParameters:
                     Name  Flags
      suiteThreadPoolSize  

  public java.lang.Integer getSuiteThreadPoolSize();
    descriptor: ()Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1519
            aload 0 /* this */
            getfield org.testng.TestNG.m_suiteThreadPoolSize:Ljava/lang/Integer;
            areturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;

  public void setRandomizeSuites(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // boolean randomizeSuites
         0: .line 1523
            aload 0 /* this */
            iload 1 /* randomizeSuites */
            putfield org.testng.TestNG.m_randomizeSuites:Z
         1: .line 1524
            return
        end local 1 // boolean randomizeSuites
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/testng/TestNG;
            0    2     1  randomizeSuites  Z
    MethodParameters:
                 Name  Flags
      randomizeSuites  

  public void alwaysRunListeners(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // boolean alwaysRun
         0: .line 1527
            aload 0 /* this */
            iload 1 /* alwaysRun */
            putfield org.testng.TestNG.m_alwaysRun:Z
         1: .line 1528
            return
        end local 1 // boolean alwaysRun
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/testng/TestNG;
            0    2     1  alwaysRun  Z
    MethodParameters:
           Name  Flags
      alwaysRun  

  public void setSourcePath(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.String path
         0: .line 1539
            return
        end local 1 // java.lang.String path
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;
            0    1     1  path  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      path  

  private static int parseInt(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 1542
            aload 0 /* value */
            ifnonnull 2
         1: .line 1543
            iconst_m1
            ireturn
         2: .line 1545
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.String
            ifeq 4
         3: .line 1546
            aload 0 /* value */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            ireturn
         4: .line 1548
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Integer
            ifeq 6
         5: .line 1549
            aload 0 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
         6: .line 1551
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to parse "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " as an Integer."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public void configure(java.util.Map);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=17, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.util.Map cmdLineArgs
         0: .line 1564
            new org.testng.CommandLineArgs
            dup
            invokespecial org.testng.CommandLineArgs.<init>:()V
            astore 2 /* result */
        start local 2 // org.testng.CommandLineArgs result
         1: .line 1566
            aload 1 /* cmdLineArgs */
            ldc "-log"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.testng.TestNG.parseInt:(Ljava/lang/Object;)I
            istore 3 /* value */
        start local 3 // int value
         2: .line 1567
            iload 3 /* value */
            iconst_m1
            if_icmpeq 4
         3: .line 1568
            aload 2 /* result */
            iload 3 /* value */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putfield org.testng.CommandLineArgs.verbose:Ljava/lang/Integer;
         4: .line 1570
      StackMap locals: org.testng.CommandLineArgs int
      StackMap stack:
            aload 2 /* result */
            aload 1 /* cmdLineArgs */
            ldc "-d"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield org.testng.CommandLineArgs.outputDirectory:Ljava/lang/String;
         5: .line 1572
            aload 1 /* cmdLineArgs */
            ldc "-testclass"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* testClasses */
        start local 4 // java.lang.String testClasses
         6: .line 1573
            aload 4 /* testClasses */
            ifnull 8
         7: .line 1574
            aload 2 /* result */
            aload 4 /* testClasses */
            putfield org.testng.CommandLineArgs.testClass:Ljava/lang/String;
         8: .line 1577
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* cmdLineArgs */
            ldc "-testnames"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* testNames */
        start local 5 // java.lang.String testNames
         9: .line 1578
            aload 5 /* testNames */
            ifnull 11
        10: .line 1579
            aload 2 /* result */
            aload 5 /* testNames */
            putfield org.testng.CommandLineArgs.testNames:Ljava/lang/String;
        11: .line 1582
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* cmdLineArgs */
            ldc "-usedefaultlisteners"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* useDefaultListeners */
        start local 6 // java.lang.String useDefaultListeners
        12: .line 1583
            aload 6 /* useDefaultListeners */
            ifnull 14
        13: .line 1584
            aload 2 /* result */
            aload 6 /* useDefaultListeners */
            putfield org.testng.CommandLineArgs.useDefaultListeners:Ljava/lang/String;
        14: .line 1587
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* result */
            aload 1 /* cmdLineArgs */
            ldc "-groups"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield org.testng.CommandLineArgs.groups:Ljava/lang/String;
        15: .line 1588
            aload 2 /* result */
            aload 1 /* cmdLineArgs */
            ldc "-excludegroups"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield org.testng.CommandLineArgs.excludedGroups:Ljava/lang/String;
        16: .line 1589
            aload 2 /* result */
            aload 1 /* cmdLineArgs */
            ldc "-testjar"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield org.testng.CommandLineArgs.testJar:Ljava/lang/String;
        17: .line 1590
            aload 2 /* result */
            aload 1 /* cmdLineArgs */
            ldc "-xmlpathinjar"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield org.testng.CommandLineArgs.xmlPathInJar:Ljava/lang/String;
        18: .line 1591
            aload 2 /* result */
            aload 1 /* cmdLineArgs */
            ldc "-junit"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            putfield org.testng.CommandLineArgs.junit:Ljava/lang/Boolean;
        19: .line 1592
            aload 2 /* result */
            aload 1 /* cmdLineArgs */
            ldc "-mixed"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            putfield org.testng.CommandLineArgs.mixed:Ljava/lang/Boolean;
        20: .line 1593
            aload 2 /* result */
        21: .line 1594
            aload 1 /* cmdLineArgs */
            ldc "-skipfailedinvocationcounts"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
        22: .line 1593
            putfield org.testng.CommandLineArgs.skipFailedInvocationCounts:Ljava/lang/Boolean;
        23: .line 1595
            aload 2 /* result */
        24: .line 1596
            aload 1 /* cmdLineArgs */
            ldc "-failwheneverythingskipped"
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
        25: .line 1595
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield org.testng.CommandLineArgs.failIfAllTestsSkipped:Ljava/lang/Boolean;
        26: .line 1597
            aload 2 /* result */
            aload 1 /* cmdLineArgs */
            ldc "-spilistenerstoskip"
            ldc ""
            invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield org.testng.CommandLineArgs.spiListenersToSkip:Ljava/lang/String;
        27: .line 1598
            aload 1 /* cmdLineArgs */
            ldc "-parallel"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* parallelMode */
        start local 7 // java.lang.String parallelMode
        28: .line 1599
            aload 7 /* parallelMode */
            ifnull 30
        29: .line 1600
            aload 2 /* result */
            aload 7 /* parallelMode */
            invokestatic org.testng.xml.XmlSuite$ParallelMode.getValidParallel:(Ljava/lang/String;)Lorg/testng/xml/XmlSuite$ParallelMode;
            putfield org.testng.CommandLineArgs.parallelMode:Lorg/testng/xml/XmlSuite$ParallelMode;
        30: .line 1603
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* cmdLineArgs */
            ldc "-threadcount"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.testng.TestNG.parseInt:(Ljava/lang/Object;)I
            istore 3 /* value */
        31: .line 1604
            iload 3 /* value */
            iconst_m1
            if_icmpeq 33
        32: .line 1605
            aload 2 /* result */
            iload 3 /* value */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putfield org.testng.CommandLineArgs.threadCount:Ljava/lang/Integer;
        33: .line 1609
      StackMap locals:
      StackMap stack:
            aload 1 /* cmdLineArgs */
            ldc "-dataproviderthreadcount"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.testng.TestNG.parseInt:(Ljava/lang/Object;)I
            istore 3 /* value */
        34: .line 1610
            iload 3 /* value */
            iconst_m1
            if_icmpeq 36
        35: .line 1611
            aload 2 /* result */
            iload 3 /* value */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putfield org.testng.CommandLineArgs.dataProviderThreadCount:Ljava/lang/Integer;
        36: .line 1613
      StackMap locals:
      StackMap stack:
            aload 1 /* cmdLineArgs */
            ldc "-suitename"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* defaultSuiteName */
        start local 8 // java.lang.String defaultSuiteName
        37: .line 1614
            aload 8 /* defaultSuiteName */
            ifnull 39
        38: .line 1615
            aload 2 /* result */
            aload 8 /* defaultSuiteName */
            putfield org.testng.CommandLineArgs.suiteName:Ljava/lang/String;
        39: .line 1618
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* cmdLineArgs */
            ldc "-testname"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* defaultTestName */
        start local 9 // java.lang.String defaultTestName
        40: .line 1619
            aload 9 /* defaultTestName */
            ifnull 42
        41: .line 1620
            aload 2 /* result */
            aload 9 /* defaultTestName */
            putfield org.testng.CommandLineArgs.testName:Ljava/lang/String;
        42: .line 1623
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* cmdLineArgs */
            ldc "-listener"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 10 /* listeners */
        start local 10 // java.lang.Object listeners
        43: .line 1624
            aload 10 /* listeners */
            instanceof java.util.List
            ifeq 46
        44: .line 1625
            aload 2 /* result */
            aload 10 /* listeners */
            checkcast java.util.List
            ldc ","
            invokestatic org.testng.internal.Utils.join:(Ljava/util/List;Ljava/lang/String;)Ljava/lang/String;
            putfield org.testng.CommandLineArgs.listener:Ljava/lang/String;
        45: .line 1626
            goto 47
        46: .line 1627
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* result */
            aload 10 /* listeners */
            checkcast java.lang.String
            putfield org.testng.CommandLineArgs.listener:Ljava/lang/String;
        47: .line 1630
      StackMap locals:
      StackMap stack:
            aload 1 /* cmdLineArgs */
            ldc "-methodselectors"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 11 /* ms */
        start local 11 // java.lang.String ms
        48: .line 1631
            aload 11 /* ms */
            ifnull 50
        49: .line 1632
            aload 2 /* result */
            aload 11 /* ms */
            putfield org.testng.CommandLineArgs.methodSelectors:Ljava/lang/String;
        50: .line 1635
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* cmdLineArgs */
            ldc "-objectfactory"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 12 /* objectFactory */
        start local 12 // java.lang.String objectFactory
        51: .line 1636
            aload 12 /* objectFactory */
            ifnull 53
        52: .line 1637
            aload 2 /* result */
            aload 12 /* objectFactory */
            putfield org.testng.CommandLineArgs.objectFactory:Ljava/lang/String;
        53: .line 1640
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* cmdLineArgs */
            ldc "-testrunfactory"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 13 /* runnerFactory */
        start local 13 // java.lang.String runnerFactory
        54: .line 1641
            aload 13 /* runnerFactory */
            ifnull 56
        55: .line 1642
            aload 2 /* result */
            aload 13 /* runnerFactory */
            putfield org.testng.CommandLineArgs.testRunnerFactory:Ljava/lang/String;
        56: .line 1645
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* cmdLineArgs */
            ldc "-reporter"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 14 /* reporterConfigs */
        start local 14 // java.lang.String reporterConfigs
        57: .line 1646
            aload 14 /* reporterConfigs */
            ifnull 59
        58: .line 1647
            aload 2 /* result */
            aload 14 /* reporterConfigs */
            putfield org.testng.CommandLineArgs.reporter:Ljava/lang/String;
        59: .line 1650
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* cmdLineArgs */
            ldc "-configfailurepolicy"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 15 /* failurePolicy */
        start local 15 // java.lang.String failurePolicy
        60: .line 1651
            aload 15 /* failurePolicy */
            ifnull 62
        61: .line 1652
            aload 2 /* result */
            aload 15 /* failurePolicy */
            putfield org.testng.CommandLineArgs.configFailurePolicy:Ljava/lang/String;
        62: .line 1655
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* cmdLineArgs */
            ldc "-suitethreadpoolsize"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.testng.TestNG.parseInt:(Ljava/lang/Object;)I
            istore 3 /* value */
        63: .line 1656
            iload 3 /* value */
            iconst_m1
            if_icmpeq 65
        64: .line 1657
            aload 2 /* result */
            iload 3 /* value */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putfield org.testng.CommandLineArgs.suiteThreadPoolSize:Ljava/lang/Integer;
        65: .line 1660
      StackMap locals:
      StackMap stack:
            aload 1 /* cmdLineArgs */
            ldc "-dependencyinjectorfactory"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 16 /* dependencyInjectorFactoryClass */
        start local 16 // java.lang.String dependencyInjectorFactoryClass
        66: .line 1661
            aload 16 /* dependencyInjectorFactoryClass */
            ifnull 68
        67: .line 1662
            aload 2 /* result */
            aload 16 /* dependencyInjectorFactoryClass */
            putfield org.testng.CommandLineArgs.dependencyInjectorFactoryClass:Ljava/lang/String;
        68: .line 1665
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 2 /* result */
            invokevirtual org.testng.TestNG.configure:(Lorg/testng/CommandLineArgs;)V
        69: .line 1666
            return
        end local 16 // java.lang.String dependencyInjectorFactoryClass
        end local 15 // java.lang.String failurePolicy
        end local 14 // java.lang.String reporterConfigs
        end local 13 // java.lang.String runnerFactory
        end local 12 // java.lang.String objectFactory
        end local 11 // java.lang.String ms
        end local 10 // java.lang.Object listeners
        end local 9 // java.lang.String defaultTestName
        end local 8 // java.lang.String defaultSuiteName
        end local 7 // java.lang.String parallelMode
        end local 6 // java.lang.String useDefaultListeners
        end local 5 // java.lang.String testNames
        end local 4 // java.lang.String testClasses
        end local 3 // int value
        end local 2 // org.testng.CommandLineArgs result
        end local 1 // java.util.Map cmdLineArgs
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   70     0                            this  Lorg/testng/TestNG;
            0   70     1                     cmdLineArgs  Ljava/util/Map;
            1   70     2                          result  Lorg/testng/CommandLineArgs;
            2   70     3                           value  I
            6   70     4                     testClasses  Ljava/lang/String;
            9   70     5                       testNames  Ljava/lang/String;
           12   70     6             useDefaultListeners  Ljava/lang/String;
           28   70     7                    parallelMode  Ljava/lang/String;
           37   70     8                defaultSuiteName  Ljava/lang/String;
           40   70     9                 defaultTestName  Ljava/lang/String;
           43   70    10                       listeners  Ljava/lang/Object;
           48   70    11                              ms  Ljava/lang/String;
           51   70    12                   objectFactory  Ljava/lang/String;
           54   70    13                   runnerFactory  Ljava/lang/String;
           57   70    14                 reporterConfigs  Ljava/lang/String;
           60   70    15                   failurePolicy  Ljava/lang/String;
           66   70    16  dependencyInjectorFactoryClass  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
             Name  Flags
      cmdLineArgs  

  public void setTestNames(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.util.List testNames
         0: .line 1670
            aload 0 /* this */
            aload 1 /* testNames */
            putfield org.testng.TestNG.m_testNames:Ljava/util/List;
         1: .line 1671
            return
        end local 1 // java.util.List testNames
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/testng/TestNG;
            0    2     1  testNames  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
           Name  Flags
      testNames  

  public void setSkipFailedInvocationCounts(java.lang.Boolean);
    descriptor: (Ljava/lang/Boolean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.Boolean skip
         0: .line 1674
            aload 0 /* this */
            aload 1 /* skip */
            putfield org.testng.TestNG.m_skipFailedInvocationCounts:Ljava/lang/Boolean;
         1: .line 1675
            return
        end local 1 // java.lang.Boolean skip
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/TestNG;
            0    2     1  skip  Ljava/lang/Boolean;
    MethodParameters:
      Name  Flags
      skip  

  private void addReporter(org.testng.internal.ReporterConfig);
    descriptor: (Lorg/testng/internal/ReporterConfig;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.internal.ReporterConfig reporterConfig
         0: .line 1678
            aload 1 /* reporterConfig */
            invokevirtual org.testng.internal.ReporterConfig.newReporterInstance:()Lorg/testng/IReporter;
            astore 2 /* instance */
        start local 2 // org.testng.IReporter instance
         1: .line 1679
            aload 2 /* instance */
            ifnull 4
         2: .line 1680
            aload 0 /* this */
            aload 2 /* instance */
            invokevirtual org.testng.TestNG.addListener:(Lorg/testng/ITestNGListener;)V
         3: .line 1681
            goto 5
         4: .line 1682
      StackMap locals: org.testng.IReporter
      StackMap stack:
            getstatic org.testng.TestNG.LOGGER:Lorg/testng/log4testng/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Could not find reporter class : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* reporterConfig */
            invokevirtual org.testng.internal.ReporterConfig.getClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.testng.log4testng.Logger.warn:(Ljava/lang/Object;)V
         5: .line 1684
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.testng.IReporter instance
        end local 1 // org.testng.internal.ReporterConfig reporterConfig
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lorg/testng/TestNG;
            0    6     1  reporterConfig  Lorg/testng/internal/ReporterConfig;
            1    6     2        instance  Lorg/testng/IReporter;
    MethodParameters:
                Name  Flags
      reporterConfig  

  public void setJUnit(java.lang.Boolean);
    descriptor: (Ljava/lang/Boolean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.Boolean isJUnit
         0: .line 1692
            aload 0 /* this */
            aload 1 /* isJUnit */
            putfield org.testng.TestNG.m_isJUnit:Ljava/lang/Boolean;
         1: .line 1693
            return
        end local 1 // java.lang.Boolean isJUnit
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/testng/TestNG;
            0    2     1  isJUnit  Ljava/lang/Boolean;
    MethodParameters:
         Name  Flags
      isJUnit  

  public void setMixed(java.lang.Boolean);
    descriptor: (Ljava/lang/Boolean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.Boolean isMixed
         0: .line 1697
            aload 1 /* isMixed */
            ifnonnull 2
         1: .line 1698
            return
         2: .line 1700
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* isMixed */
            putfield org.testng.TestNG.m_isMixed:Ljava/lang/Boolean;
         3: .line 1701
            return
        end local 1 // java.lang.Boolean isMixed
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/testng/TestNG;
            0    4     1  isMixed  Ljava/lang/Boolean;
    MethodParameters:
         Name  Flags
      isMixed  

  protected static void validateCommandLineParameters(org.testng.CommandLineArgs);
    descriptor: (Lorg/testng/CommandLineArgs;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // org.testng.CommandLineArgs args
         0: .line 1709
            aload 0 /* args */
            getfield org.testng.CommandLineArgs.testClass:Ljava/lang/String;
            astore 1 /* testClasses */
        start local 1 // java.lang.String testClasses
         1: .line 1710
            aload 0 /* args */
            getfield org.testng.CommandLineArgs.suiteFiles:Ljava/util/List;
            astore 2 /* testNgXml */
        start local 2 // java.util.List testNgXml
         2: .line 1711
            aload 0 /* args */
            getfield org.testng.CommandLineArgs.testJar:Ljava/lang/String;
            astore 3 /* testJar */
        start local 3 // java.lang.String testJar
         3: .line 1712
            aload 0 /* args */
            getfield org.testng.CommandLineArgs.commandLineMethods:Ljava/util/List;
            astore 4 /* methods */
        start local 4 // java.util.List methods
         4: .line 1714
            aload 1 /* testClasses */
            ifnonnull 11
         5: .line 1715
            aload 3 /* testJar */
            ifnonnull 11
         6: .line 1716
            aload 2 /* testNgXml */
            ifnull 7
            aload 2 /* testNgXml */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 11
         7: .line 1717
      StackMap locals: org.testng.CommandLineArgs java.lang.String java.util.List java.lang.String java.util.List
      StackMap stack:
            aload 4 /* methods */
            ifnull 8
            aload 4 /* methods */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 11
         8: .line 1718
      StackMap locals:
      StackMap stack:
            new com.beust.jcommander.ParameterException
            dup
         9: .line 1719
            ldc "You need to specify at least one testng.xml, one class or one method"
        10: .line 1718
            invokespecial com.beust.jcommander.ParameterException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1722
      StackMap locals:
      StackMap stack:
            aload 0 /* args */
            getfield org.testng.CommandLineArgs.groups:Ljava/lang/String;
            astore 5 /* groups */
        start local 5 // java.lang.String groups
        12: .line 1723
            aload 0 /* args */
            getfield org.testng.CommandLineArgs.excludedGroups:Ljava/lang/String;
            astore 6 /* excludedGroups */
        start local 6 // java.lang.String excludedGroups
        13: .line 1725
            aload 3 /* testJar */
            ifnonnull 18
        14: .line 1726
            aload 5 /* groups */
            ifnonnull 15
            aload 6 /* excludedGroups */
            ifnull 18
        15: .line 1727
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* testClasses */
            ifnonnull 18
        16: .line 1728
            aload 2 /* testNgXml */
            ifnull 17
            aload 2 /* testNgXml */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 18
        17: .line 1729
      StackMap locals:
      StackMap stack:
            new com.beust.jcommander.ParameterException
            dup
            ldc "Groups option should be used with testclass option"
            invokespecial com.beust.jcommander.ParameterException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 1732
      StackMap locals:
      StackMap stack:
            aload 0 /* args */
            getfield org.testng.CommandLineArgs.junit:Ljava/lang/Boolean;
            astore 7 /* junit */
        start local 7 // java.lang.Boolean junit
        19: .line 1733
            aload 0 /* args */
            getfield org.testng.CommandLineArgs.mixed:Ljava/lang/Boolean;
            astore 8 /* mixed */
        start local 8 // java.lang.Boolean mixed
        20: .line 1734
            aload 7 /* junit */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 24
            aload 8 /* mixed */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 24
        21: .line 1735
            new com.beust.jcommander.ParameterException
            dup
        22: .line 1736
            ldc "-mixed can't be combined with -junit"
        23: .line 1735
            invokespecial com.beust.jcommander.ParameterException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 1738
      StackMap locals: java.lang.Boolean java.lang.Boolean
      StackMap stack:
            return
        end local 8 // java.lang.Boolean mixed
        end local 7 // java.lang.Boolean junit
        end local 6 // java.lang.String excludedGroups
        end local 5 // java.lang.String groups
        end local 4 // java.util.List methods
        end local 3 // java.lang.String testJar
        end local 2 // java.util.List testNgXml
        end local 1 // java.lang.String testClasses
        end local 0 // org.testng.CommandLineArgs args
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   25     0            args  Lorg/testng/CommandLineArgs;
            1   25     1     testClasses  Ljava/lang/String;
            2   25     2       testNgXml  Ljava/util/List<Ljava/lang/String;>;
            3   25     3         testJar  Ljava/lang/String;
            4   25     4         methods  Ljava/util/List<Ljava/lang/String;>;
           12   25     5          groups  Ljava/lang/String;
           13   25     6  excludedGroups  Ljava/lang/String;
           19   25     7           junit  Ljava/lang/Boolean;
           20   25     8           mixed  Ljava/lang/Boolean;
    MethodParameters:
      Name  Flags
      args  

  public boolean hasFailure();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1742
            aload 0 /* this */
            getfield org.testng.TestNG.exitCode:Lorg/testng/internal/ExitCode;
            invokevirtual org.testng.internal.ExitCode.hasFailure:()Z
            ireturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;

  public boolean hasFailureWithinSuccessPercentage();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1747
            aload 0 /* this */
            getfield org.testng.TestNG.exitCode:Lorg/testng/internal/ExitCode;
            invokevirtual org.testng.internal.ExitCode.hasFailureWithinSuccessPercentage:()Z
            ireturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;

  public boolean hasSkip();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1752
            aload 0 /* this */
            getfield org.testng.TestNG.exitCode:Lorg/testng/internal/ExitCode;
            invokevirtual org.testng.internal.ExitCode.hasSkip:()Z
            ireturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;

  static void exitWithError(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String msg
         0: .line 1756
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 0 /* msg */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 1757
            invokestatic org.testng.TestNG.usage:()V
         2: .line 1758
            iconst_1
            invokestatic java.lang.System.exit:(I)V
         3: .line 1759
            return
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  public java.lang.String getOutputDirectory();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1762
            aload 0 /* this */
            getfield org.testng.TestNG.m_outputDir:Ljava/lang/String;
            areturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;

  public org.testng.IAnnotationTransformer getAnnotationTransformer();
    descriptor: ()Lorg/testng/IAnnotationTransformer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1766
            aload 0 /* this */
            getfield org.testng.TestNG.m_annotationTransformer:Lorg/testng/IAnnotationTransformer;
            areturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;

  private void setAnnotationTransformer(org.testng.IAnnotationTransformer);
    descriptor: (Lorg/testng/IAnnotationTransformer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.IAnnotationTransformer t
         0: .line 1771
            aload 0 /* this */
            getfield org.testng.TestNG.m_annotationTransformer:Lorg/testng/IAnnotationTransformer;
            aload 0 /* this */
            getfield org.testng.TestNG.m_defaultAnnoProcessor:Lorg/testng/IAnnotationTransformer;
            if_acmpeq 2
            aload 0 /* this */
            getfield org.testng.TestNG.m_annotationTransformer:Lorg/testng/IAnnotationTransformer;
            aload 1 /* t */
            if_acmpeq 2
         1: .line 1772
            getstatic org.testng.TestNG.LOGGER:Lorg/testng/log4testng/Logger;
            ldc "AnnotationTransformer already set"
            invokevirtual org.testng.log4testng.Logger.warn:(Ljava/lang/Object;)V
         2: .line 1774
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            putfield org.testng.TestNG.m_annotationTransformer:Lorg/testng/IAnnotationTransformer;
         3: .line 1775
            return
        end local 1 // org.testng.IAnnotationTransformer t
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/testng/TestNG;
            0    4     1     t  Lorg/testng/IAnnotationTransformer;
    MethodParameters:
      Name  Flags
      t     

  public java.lang.String getDefaultSuiteName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1779
            aload 0 /* this */
            getfield org.testng.TestNG.m_defaultSuiteName:Ljava/lang/String;
            areturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;

  public void setDefaultSuiteName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.String defaultSuiteName
         0: .line 1784
            aload 0 /* this */
            aload 1 /* defaultSuiteName */
            putfield org.testng.TestNG.m_defaultSuiteName:Ljava/lang/String;
         1: .line 1785
            return
        end local 1 // java.lang.String defaultSuiteName
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/testng/TestNG;
            0    2     1  defaultSuiteName  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      defaultSuiteName  

  public java.lang.String getDefaultTestName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1789
            aload 0 /* this */
            getfield org.testng.TestNG.m_defaultTestName:Ljava/lang/String;
            areturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;

  public void setDefaultTestName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.String defaultTestName
         0: .line 1794
            aload 0 /* this */
            aload 1 /* defaultTestName */
            putfield org.testng.TestNG.m_defaultTestName:Ljava/lang/String;
         1: .line 1795
            return
        end local 1 // java.lang.String defaultTestName
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/testng/TestNG;
            0    2     1  defaultTestName  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      defaultTestName  

  public void setConfigFailurePolicy(org.testng.xml.XmlSuite$FailurePolicy);
    descriptor: (Lorg/testng/xml/XmlSuite$FailurePolicy;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.xml.XmlSuite$FailurePolicy failurePolicy
         0: .line 1805
            aload 0 /* this */
            aload 1 /* failurePolicy */
            putfield org.testng.TestNG.m_configFailurePolicy:Lorg/testng/xml/XmlSuite$FailurePolicy;
         1: .line 1806
            return
        end local 1 // org.testng.xml.XmlSuite$FailurePolicy failurePolicy
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/testng/TestNG;
            0    2     1  failurePolicy  Lorg/testng/xml/XmlSuite$FailurePolicy;
    MethodParameters:
               Name  Flags
      failurePolicy  

  public org.testng.xml.XmlSuite$FailurePolicy getConfigFailurePolicy();
    descriptor: ()Lorg/testng/xml/XmlSuite$FailurePolicy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1814
            aload 0 /* this */
            getfield org.testng.TestNG.m_configFailurePolicy:Lorg/testng/xml/XmlSuite$FailurePolicy;
            areturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;

  public static org.testng.TestNG getDefault();
    descriptor: ()Lorg/testng/TestNG;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1824
            getstatic org.testng.TestNG.m_instance:Lorg/testng/TestNG;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private void setConfigurable(org.testng.IConfigurable);
    descriptor: (Lorg/testng/IConfigurable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.IConfigurable c
         0: .line 1829
            aload 0 /* this */
            getfield org.testng.TestNG.m_configurable:Lorg/testng/IConfigurable;
            ifnull 2
            aload 0 /* this */
            getfield org.testng.TestNG.m_configurable:Lorg/testng/IConfigurable;
            aload 1 /* c */
            if_acmpeq 2
         1: .line 1830
            getstatic org.testng.TestNG.LOGGER:Lorg/testng/log4testng/Logger;
            ldc "Configurable already set"
            invokevirtual org.testng.log4testng.Logger.warn:(Ljava/lang/Object;)V
         2: .line 1832
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* c */
            putfield org.testng.TestNG.m_configurable:Lorg/testng/IConfigurable;
         3: .line 1833
            return
        end local 1 // org.testng.IConfigurable c
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/testng/TestNG;
            0    4     1     c  Lorg/testng/IConfigurable;
    MethodParameters:
      Name  Flags
      c     

  private void setHookable(org.testng.IHookable);
    descriptor: (Lorg/testng/IHookable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.IHookable h
         0: .line 1837
            aload 0 /* this */
            getfield org.testng.TestNG.m_hookable:Lorg/testng/IHookable;
            ifnull 2
            aload 0 /* this */
            getfield org.testng.TestNG.m_hookable:Lorg/testng/IHookable;
            aload 1 /* h */
            if_acmpeq 2
         1: .line 1838
            getstatic org.testng.TestNG.LOGGER:Lorg/testng/log4testng/Logger;
            ldc "Hookable already set"
            invokevirtual org.testng.log4testng.Logger.warn:(Ljava/lang/Object;)V
         2: .line 1840
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* h */
            putfield org.testng.TestNG.m_hookable:Lorg/testng/IHookable;
         3: .line 1841
            return
        end local 1 // org.testng.IHookable h
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/testng/TestNG;
            0    4     1     h  Lorg/testng/IHookable;
    MethodParameters:
      Name  Flags
      h     

  public void setMethodInterceptor(org.testng.IMethodInterceptor);
    descriptor: (Lorg/testng/IMethodInterceptor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.IMethodInterceptor methodInterceptor
         0: .line 1844
            aload 0 /* this */
            getfield org.testng.TestNG.m_methodInterceptors:Ljava/util/List;
            aload 1 /* methodInterceptor */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 1845
            return
        end local 1 // org.testng.IMethodInterceptor methodInterceptor
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/testng/TestNG;
            0    2     1  methodInterceptor  Lorg/testng/IMethodInterceptor;
    MethodParameters:
                   Name  Flags
      methodInterceptor  

  public void setDataProviderThreadCount(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // int count
         0: .line 1848
            aload 0 /* this */
            iload 1 /* count */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putfield org.testng.TestNG.m_dataProviderThreadCount:Ljava/lang/Integer;
         1: .line 1849
            return
        end local 1 // int count
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/testng/TestNG;
            0    2     1  count  I
    MethodParameters:
       Name  Flags
      count  

  public void addClassLoader(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.lang.ClassLoader loader
         0: .line 1857
            aload 1 /* loader */
            ifnull 2
         1: .line 1858
            aload 1 /* loader */
            invokestatic org.testng.internal.ClassHelper.addClassLoader:(Ljava/lang/ClassLoader;)V
         2: .line 1860
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.ClassLoader loader
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/testng/TestNG;
            0    3     1  loader  Ljava/lang/ClassLoader;
    MethodParameters:
        Name  Flags
      loader  final

  public void setPreserveOrder(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // boolean b
         0: .line 1863
            aload 0 /* this */
            iload 1 /* b */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield org.testng.TestNG.m_preserveOrder:Ljava/lang/Boolean;
         1: .line 1864
            return
        end local 1 // boolean b
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/TestNG;
            0    2     1     b  Z
    MethodParameters:
      Name  Flags
      b     

  protected long getStart();
    descriptor: ()J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1867
            aload 0 /* this */
            getfield org.testng.TestNG.m_start:J
            lreturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;

  protected long getEnd();
    descriptor: ()J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1871
            aload 0 /* this */
            getfield org.testng.TestNG.m_end:J
            lreturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;

  public void setGroupByInstances(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // boolean b
         0: .line 1875
            aload 0 /* this */
            iload 1 /* b */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield org.testng.TestNG.m_groupByInstances:Ljava/lang/Boolean;
         1: .line 1876
            return
        end local 1 // boolean b
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/TestNG;
            0    2     1     b  Z
    MethodParameters:
      Name  Flags
      b     

  public void setServiceLoaderClassLoader(java.net.URLClassLoader);
    descriptor: (Ljava/net/URLClassLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // java.net.URLClassLoader ucl
         0: .line 1890
            aload 0 /* this */
            aload 1 /* ucl */
            putfield org.testng.TestNG.m_serviceLoaderClassLoader:Ljava/net/URLClassLoader;
         1: .line 1891
            return
        end local 1 // java.net.URLClassLoader ucl
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/TestNG;
            0    2     1   ucl  Ljava/net/URLClassLoader;
    MethodParameters:
      Name  Flags
      ucl   

  private void addServiceLoaderListener(org.testng.ITestNGListener);
    descriptor: (Lorg/testng/ITestNGListener;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.ITestNGListener l
         0: .line 1897
            aload 0 /* this */
            getfield org.testng.TestNG.serviceLoaderListeners:Ljava/util/Map;
            aload 1 /* l */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 1898
            aload 0 /* this */
            getfield org.testng.TestNG.serviceLoaderListeners:Ljava/util/Map;
            aload 1 /* l */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* l */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1900
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.testng.ITestNGListener l
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/testng/TestNG;
            0    3     1     l  Lorg/testng/ITestNGListener;
    MethodParameters:
      Name  Flags
      l     

  public java.util.List<org.testng.ITestNGListener> getServiceLoaderListeners();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestNG this
         0: .line 1906
            aload 0 /* this */
            getfield org.testng.TestNG.serviceLoaderListeners:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokestatic org.testng.collections.Lists.newArrayList:(Ljava/util/Collection;)Ljava/util/List;
            areturn
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestNG;
    Signature: ()Ljava/util/List<Lorg/testng/ITestNGListener;>;

  public void setInjectorFactory(org.testng.IInjectorFactory);
    descriptor: (Lorg/testng/IInjectorFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestNG this
        start local 1 // org.testng.IInjectorFactory factory
         0: .line 1910
            aload 0 /* this */
            getfield org.testng.TestNG.m_configuration:Lorg/testng/internal/IConfiguration;
            aload 1 /* factory */
            invokeinterface org.testng.internal.IConfiguration.setInjectorFactory:(Lorg/testng/IInjectorFactory;)V
         1: .line 1911
            return
        end local 1 // org.testng.IInjectorFactory factory
        end local 0 // org.testng.TestNG this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/testng/TestNG;
            0    2     1  factory  Lorg/testng/IInjectorFactory;
    MethodParameters:
         Name  Flags
      factory  

  private static org.testng.xml.XmlClass lambda$0(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/testng/xml/XmlClass;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 518
            new org.testng.xml.XmlClass
            dup
            aload 0 /* clazz */
            iconst_1
            invokespecial org.testng.xml.XmlClass.<init>:(Ljava/lang/Class;Z)V
            areturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  clazz  Ljava/lang/Class;

  private static org.testng.xml.XmlClass[] lambda$1(int);
    descriptor: (I)[Lorg/testng/xml/XmlClass;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            iload 0
            anewarray org.testng.xml.XmlClass
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "TestNG.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final FailurePolicy = org.testng.xml.XmlSuite$FailurePolicy of org.testng.xml.XmlSuite
  public final ParallelMode = org.testng.xml.XmlSuite$ParallelMode of org.testng.xml.XmlSuite