public class org.testng.TestRunner implements org.testng.ITestContext, org.testng.internal.ITestResultNotifier, org.testng.thread.IThreadWorkerFactory<org.testng.ITestNGMethod>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.testng.TestRunner
  super_class: java.lang.Object
{
  private static final java.lang.String DEFAULT_PROP_OUTPUT_DIR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "test-output"

  private static final org.testng.log4testng.Logger LOGGER;
    descriptor: Lorg/testng/log4testng/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.Comparator<org.testng.ITestNGMethod> comparator;
    descriptor: Ljava/util/Comparator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Comparator<Lorg/testng/ITestNGMethod;>;

  private org.testng.ISuite m_suite;
    descriptor: Lorg/testng/ISuite;
    flags: (0x0002) ACC_PRIVATE

  private org.testng.xml.XmlTest m_xmlTest;
    descriptor: Lorg/testng/xml/XmlTest;
    flags: (0x0002) ACC_PRIVATE

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

  private org.testng.IInjectorFactory m_injectorFactory;
    descriptor: Lorg/testng/IInjectorFactory;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private org.testng.internal.annotations.IAnnotationFinder m_annotationFinder;
    descriptor: Lorg/testng/internal/annotations/IAnnotationFinder;
    flags: (0x0002) ACC_PRIVATE

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

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

  private final java.util.Set<org.testng.IExecutionVisualiser> visualisers;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/testng/IExecutionVisualiser;>;

  private org.testng.IConfigurationListener m_confListener;
    descriptor: Lorg/testng/IConfigurationListener;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Collection<org.testng.IInvokedMethodListener> m_invokedMethodListeners;
    descriptor: Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Collection<Lorg/testng/IInvokedMethodListener;>;

  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 org.testng.DataProviderHolder holder;
    descriptor: Lorg/testng/DataProviderHolder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.testng.ITestNGMethod[] m_allTestMethods;
    descriptor: [Lorg/testng/ITestNGMethod;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Date m_startDate;
    descriptor: Ljava/util/Date;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Date m_endDate;
    descriptor: Ljava/util/Date;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.Class<?>, org.testng.ITestClass> m_classMap;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;Lorg/testng/ITestClass;>;

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

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

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

  private org.testng.ITestNGMethod[] m_beforeSuiteMethods;
    descriptor: [Lorg/testng/ITestNGMethod;
    flags: (0x0002) ACC_PRIVATE

  private org.testng.ITestNGMethod[] m_afterSuiteMethods;
    descriptor: [Lorg/testng/ITestNGMethod;
    flags: (0x0002) ACC_PRIVATE

  private org.testng.ITestNGMethod[] m_beforeXmlTestMethods;
    descriptor: [Lorg/testng/ITestNGMethod;
    flags: (0x0002) ACC_PRIVATE

  private org.testng.ITestNGMethod[] m_afterXmlTestMethods;
    descriptor: [Lorg/testng/ITestNGMethod;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private org.testng.IResultMap m_passedTests;
    descriptor: Lorg/testng/IResultMap;
    flags: (0x0002) ACC_PRIVATE

  private org.testng.IResultMap m_failedTests;
    descriptor: Lorg/testng/IResultMap;
    flags: (0x0002) ACC_PRIVATE

  private org.testng.IResultMap m_failedButWithinSuccessPercentageTests;
    descriptor: Lorg/testng/IResultMap;
    flags: (0x0002) ACC_PRIVATE

  private org.testng.IResultMap m_skippedTests;
    descriptor: Lorg/testng/IResultMap;
    flags: (0x0002) ACC_PRIVATE

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

  private java.lang.String m_host;
    descriptor: Ljava/lang/String;
    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 org.testng.ClassMethodMap m_classMethodMap;
    descriptor: Lorg/testng/ClassMethodMap;
    flags: (0x0002) ACC_PRIVATE

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

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

  private final java.util.Collection<org.testng.IInvokedMethod> m_invokedMethods;
    descriptor: Ljava/util/Collection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Collection<Lorg/testng/IInvokedMethod;>;

  private org.testng.IResultMap m_passedConfigurations;
    descriptor: Lorg/testng/IResultMap;
    flags: (0x0002) ACC_PRIVATE

  private org.testng.IResultMap m_skippedConfigurations;
    descriptor: Lorg/testng/IResultMap;
    flags: (0x0002) ACC_PRIVATE

  private org.testng.IResultMap m_failedConfigurations;
    descriptor: Lorg/testng/IResultMap;
    flags: (0x0002) ACC_PRIVATE

  private org.testng.IAttributes m_attributes;
    descriptor: Lorg/testng/IAttributes;
    flags: (0x0002) ACC_PRIVATE

  private org.testng.collections.ListMultiMap<java.lang.Class<? extends com.google.inject.Module>, com.google.inject.Module> m_guiceModules;
    descriptor: Lorg/testng/collections/ListMultiMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/testng/collections/ListMultiMap<Ljava/lang/Class<+Lcom/google/inject/Module;>;Lcom/google/inject/Module;>;

  private java.util.Map<java.util.List<com.google.inject.Module>, com.google.inject.Injector> m_injectors;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/util/List<Lcom/google/inject/Module;>;Lcom/google/inject/Injector;>;

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

  protected void <init>(org.testng.internal.IConfiguration, org.testng.ISuite, org.testng.xml.XmlTest, java.lang.String, org.testng.internal.annotations.IAnnotationFinder, boolean, java.util.Collection<org.testng.IInvokedMethodListener>, java.util.List<org.testng.IClassListener>, java.util.Comparator<org.testng.ITestNGMethod>, org.testng.DataProviderHolder);
    descriptor: (Lorg/testng/internal/IConfiguration;Lorg/testng/ISuite;Lorg/testng/xml/XmlTest;Ljava/lang/String;Lorg/testng/internal/annotations/IAnnotationFinder;ZLjava/util/Collection;Ljava/util/List;Ljava/util/Comparator;Lorg/testng/DataProviderHolder;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=11, args_size=11
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.internal.IConfiguration configuration
        start local 2 // org.testng.ISuite suite
        start local 3 // org.testng.xml.XmlTest test
        start local 4 // java.lang.String outputDirectory
        start local 5 // org.testng.internal.annotations.IAnnotationFinder finder
        start local 6 // boolean skipFailedInvocationCounts
        start local 7 // java.util.Collection invokedMethodListeners
        start local 8 // java.util.List classListeners
        start local 9 // java.util.Comparator comparator
        start local 10 // org.testng.DataProviderHolder otherHolder
         0: .line 168
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 81
            aload 0 /* this */
            new org.testng.GuiceHelper
            dup
            aload 0 /* this */
            invokespecial org.testng.GuiceHelper.<init>:(Lorg/testng/ITestContext;)V
            putfield org.testng.TestRunner.guiceHelper:Lorg/testng/GuiceHelper;
         2: .line 83
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestRunner.m_testClassesFromXml:Ljava/util/List;
         3: .line 85
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestRunner.m_invoker:Lorg/testng/internal/IInvoker;
         4: .line 86
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestRunner.m_annotationFinder:Lorg/testng/internal/annotations/IAnnotationFinder;
         5: .line 89
            aload 0 /* this */
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            putfield org.testng.TestRunner.m_testListeners:Ljava/util/List;
         6: .line 91
            aload 0 /* this */
            invokestatic org.testng.collections.Sets.newHashSet:()Ljava/util/Set;
            putfield org.testng.TestRunner.m_configurationListeners:Ljava/util/Set;
         7: .line 92
            aload 0 /* this */
            invokestatic org.testng.collections.Sets.newHashSet:()Ljava/util/Set;
            putfield org.testng.TestRunner.visualisers:Ljava/util/Set;
         8: .line 94
            aload 0 /* this */
            new org.testng.TestRunner$ConfigurationListener
            dup
            aload 0 /* this */
            invokespecial org.testng.TestRunner$ConfigurationListener.<init>:(Lorg/testng/TestRunner;)V
            putfield org.testng.TestRunner.m_confListener:Lorg/testng/IConfigurationListener;
         9: .line 96
            aload 0 /* this */
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            putfield org.testng.TestRunner.m_invokedMethodListeners:Ljava/util/Collection;
        10: .line 97
            aload 0 /* this */
        11: .line 98
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestRunner.m_classListeners:Ljava/util/Map;
        12: .line 99
            aload 0 /* this */
            new org.testng.DataProviderHolder
            dup
            invokespecial org.testng.DataProviderHolder.<init>:()V
            putfield org.testng.TestRunner.holder:Lorg/testng/DataProviderHolder;
        13: .line 105
            aload 0 /* this */
            iconst_0
            anewarray org.testng.ITestNGMethod
            putfield org.testng.TestRunner.m_allTestMethods:[Lorg/testng/ITestNGMethod;
        14: .line 109
            aload 0 /* this */
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            putfield org.testng.TestRunner.m_startDate:Ljava/util/Date;
        15: .line 110
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestRunner.m_endDate:Ljava/util/Date;
        16: .line 113
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newLinkedHashMap:()Ljava/util/Map;
            putfield org.testng.TestRunner.m_classMap:Ljava/util/Map;
        17: .line 116
            aload 0 /* this */
            ldc "test-output"
            putfield org.testng.TestRunner.m_outputDirectory:Ljava/lang/String;
        18: .line 119
            aload 0 /* this */
            new org.testng.internal.XmlMethodSelector
            dup
            invokespecial org.testng.internal.XmlMethodSelector.<init>:()V
            putfield org.testng.TestRunner.m_xmlMethodSelector:Lorg/testng/internal/XmlMethodSelector;
        19: .line 131
            aload 0 /* this */
            iconst_0
            anewarray org.testng.ITestNGMethod
            putfield org.testng.TestRunner.m_beforeSuiteMethods:[Lorg/testng/ITestNGMethod;
        20: .line 133
            aload 0 /* this */
            iconst_0
            anewarray org.testng.ITestNGMethod
            putfield org.testng.TestRunner.m_afterSuiteMethods:[Lorg/testng/ITestNGMethod;
        21: .line 134
            aload 0 /* this */
            iconst_0
            anewarray org.testng.ITestNGMethod
            putfield org.testng.TestRunner.m_beforeXmlTestMethods:[Lorg/testng/ITestNGMethod;
        22: .line 135
            aload 0 /* this */
            iconst_0
            anewarray org.testng.ITestNGMethod
            putfield org.testng.TestRunner.m_afterXmlTestMethods:[Lorg/testng/ITestNGMethod;
        23: .line 136
            aload 0 /* this */
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            putfield org.testng.TestRunner.m_excludedMethods:Ljava/util/List;
        24: .line 137
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestRunner.m_groupMethods:Lorg/testng/internal/ConfigurationGroupMethods;
        25: .line 140
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestRunner.m_metaGroups:Ljava/util/Map;
        26: .line 143
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_passedTests:Lorg/testng/IResultMap;
        27: .line 144
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_failedTests:Lorg/testng/IResultMap;
        28: .line 145
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_failedButWithinSuccessPercentageTests:Lorg/testng/IResultMap;
        29: .line 146
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_skippedTests:Lorg/testng/IResultMap;
        30: .line 148
            aload 0 /* this */
            new org.testng.internal.RunInfo
            dup
            invokespecial org.testng.internal.RunInfo.<init>:()V
            putfield org.testng.TestRunner.m_runInfo:Lorg/testng/internal/RunInfo;
        31: .line 1153
            aload 0 /* this */
            new java.util.concurrent.ConcurrentLinkedQueue
            dup
            invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
            putfield org.testng.TestRunner.m_invokedMethods:Ljava/util/Collection;
        32: .line 1163
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_passedConfigurations:Lorg/testng/IResultMap;
        33: .line 1164
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_skippedConfigurations:Lorg/testng/IResultMap;
        34: .line 1165
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_failedConfigurations:Lorg/testng/IResultMap;
        35: .line 1199
            aload 0 /* this */
            new org.testng.internal.Attributes
            dup
            invokespecial org.testng.internal.Attributes.<init>:()V
            putfield org.testng.TestRunner.m_attributes:Lorg/testng/IAttributes;
        36: .line 1221
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newListMultiMap:()Lorg/testng/collections/ListMultiMap;
            putfield org.testng.TestRunner.m_guiceModules:Lorg/testng/collections/ListMultiMap;
        37: .line 1228
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestRunner.m_injectors:Ljava/util/Map;
        38: .line 178
            aload 0 /* this */
            aload 9 /* comparator */
            putfield org.testng.TestRunner.comparator:Ljava/util/Comparator;
        39: .line 179
            aload 0 /* this */
            getfield org.testng.TestRunner.holder:Lorg/testng/DataProviderHolder;
            aload 10 /* otherHolder */
            invokevirtual org.testng.DataProviderHolder.merge:(Lorg/testng/DataProviderHolder;)V
        40: .line 180
            aload 0 /* this */
        41: .line 181
            aload 1 /* configuration */
        42: .line 182
            aload 2 /* suite */
        43: .line 183
            aload 3 /* test */
        44: .line 184
            aload 4 /* outputDirectory */
        45: .line 185
            aload 5 /* finder */
        46: .line 186
            iload 6 /* skipFailedInvocationCounts */
        47: .line 187
            aload 7 /* invokedMethodListeners */
        48: .line 188
            aload 8 /* classListeners */
        49: .line 180
            invokevirtual org.testng.TestRunner.init:(Lorg/testng/internal/IConfiguration;Lorg/testng/ISuite;Lorg/testng/xml/XmlTest;Ljava/lang/String;Lorg/testng/internal/annotations/IAnnotationFinder;ZLjava/util/Collection;Ljava/util/List;)V
        50: .line 189
            return
        end local 10 // org.testng.DataProviderHolder otherHolder
        end local 9 // java.util.Comparator comparator
        end local 8 // java.util.List classListeners
        end local 7 // java.util.Collection invokedMethodListeners
        end local 6 // boolean skipFailedInvocationCounts
        end local 5 // org.testng.internal.annotations.IAnnotationFinder finder
        end local 4 // java.lang.String outputDirectory
        end local 3 // org.testng.xml.XmlTest test
        end local 2 // org.testng.ISuite suite
        end local 1 // org.testng.internal.IConfiguration configuration
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   51     0                        this  Lorg/testng/TestRunner;
            0   51     1               configuration  Lorg/testng/internal/IConfiguration;
            0   51     2                       suite  Lorg/testng/ISuite;
            0   51     3                        test  Lorg/testng/xml/XmlTest;
            0   51     4             outputDirectory  Ljava/lang/String;
            0   51     5                      finder  Lorg/testng/internal/annotations/IAnnotationFinder;
            0   51     6  skipFailedInvocationCounts  Z
            0   51     7      invokedMethodListeners  Ljava/util/Collection<Lorg/testng/IInvokedMethodListener;>;
            0   51     8              classListeners  Ljava/util/List<Lorg/testng/IClassListener;>;
            0   51     9                  comparator  Ljava/util/Comparator<Lorg/testng/ITestNGMethod;>;
            0   51    10                 otherHolder  Lorg/testng/DataProviderHolder;
    Signature: (Lorg/testng/internal/IConfiguration;Lorg/testng/ISuite;Lorg/testng/xml/XmlTest;Ljava/lang/String;Lorg/testng/internal/annotations/IAnnotationFinder;ZLjava/util/Collection<Lorg/testng/IInvokedMethodListener;>;Ljava/util/List<Lorg/testng/IClassListener;>;Ljava/util/Comparator<Lorg/testng/ITestNGMethod;>;Lorg/testng/DataProviderHolder;)V
    MethodParameters:
                            Name  Flags
      configuration               
      suite                       
      test                        
      outputDirectory             
      finder                      
      skipFailedInvocationCounts  
      invokedMethodListeners      
      classListeners              
      comparator                  
      otherHolder                 

  public void <init>(org.testng.internal.IConfiguration, org.testng.ISuite, org.testng.xml.XmlTest, boolean, java.util.Collection<org.testng.IInvokedMethodListener>, java.util.List<org.testng.IClassListener>, java.util.Comparator<org.testng.ITestNGMethod>);
    descriptor: (Lorg/testng/internal/IConfiguration;Lorg/testng/ISuite;Lorg/testng/xml/XmlTest;ZLjava/util/Collection;Ljava/util/List;Ljava/util/Comparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=8
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.internal.IConfiguration configuration
        start local 2 // org.testng.ISuite suite
        start local 3 // org.testng.xml.XmlTest test
        start local 4 // boolean skipFailedInvocationCounts
        start local 5 // java.util.Collection invokedMethodListeners
        start local 6 // java.util.List classListeners
        start local 7 // java.util.Comparator comparator
         0: .line 191
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 81
            aload 0 /* this */
            new org.testng.GuiceHelper
            dup
            aload 0 /* this */
            invokespecial org.testng.GuiceHelper.<init>:(Lorg/testng/ITestContext;)V
            putfield org.testng.TestRunner.guiceHelper:Lorg/testng/GuiceHelper;
         2: .line 83
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestRunner.m_testClassesFromXml:Ljava/util/List;
         3: .line 85
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestRunner.m_invoker:Lorg/testng/internal/IInvoker;
         4: .line 86
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestRunner.m_annotationFinder:Lorg/testng/internal/annotations/IAnnotationFinder;
         5: .line 89
            aload 0 /* this */
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            putfield org.testng.TestRunner.m_testListeners:Ljava/util/List;
         6: .line 91
            aload 0 /* this */
            invokestatic org.testng.collections.Sets.newHashSet:()Ljava/util/Set;
            putfield org.testng.TestRunner.m_configurationListeners:Ljava/util/Set;
         7: .line 92
            aload 0 /* this */
            invokestatic org.testng.collections.Sets.newHashSet:()Ljava/util/Set;
            putfield org.testng.TestRunner.visualisers:Ljava/util/Set;
         8: .line 94
            aload 0 /* this */
            new org.testng.TestRunner$ConfigurationListener
            dup
            aload 0 /* this */
            invokespecial org.testng.TestRunner$ConfigurationListener.<init>:(Lorg/testng/TestRunner;)V
            putfield org.testng.TestRunner.m_confListener:Lorg/testng/IConfigurationListener;
         9: .line 96
            aload 0 /* this */
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            putfield org.testng.TestRunner.m_invokedMethodListeners:Ljava/util/Collection;
        10: .line 97
            aload 0 /* this */
        11: .line 98
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestRunner.m_classListeners:Ljava/util/Map;
        12: .line 99
            aload 0 /* this */
            new org.testng.DataProviderHolder
            dup
            invokespecial org.testng.DataProviderHolder.<init>:()V
            putfield org.testng.TestRunner.holder:Lorg/testng/DataProviderHolder;
        13: .line 105
            aload 0 /* this */
            iconst_0
            anewarray org.testng.ITestNGMethod
            putfield org.testng.TestRunner.m_allTestMethods:[Lorg/testng/ITestNGMethod;
        14: .line 109
            aload 0 /* this */
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            putfield org.testng.TestRunner.m_startDate:Ljava/util/Date;
        15: .line 110
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestRunner.m_endDate:Ljava/util/Date;
        16: .line 113
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newLinkedHashMap:()Ljava/util/Map;
            putfield org.testng.TestRunner.m_classMap:Ljava/util/Map;
        17: .line 116
            aload 0 /* this */
            ldc "test-output"
            putfield org.testng.TestRunner.m_outputDirectory:Ljava/lang/String;
        18: .line 119
            aload 0 /* this */
            new org.testng.internal.XmlMethodSelector
            dup
            invokespecial org.testng.internal.XmlMethodSelector.<init>:()V
            putfield org.testng.TestRunner.m_xmlMethodSelector:Lorg/testng/internal/XmlMethodSelector;
        19: .line 131
            aload 0 /* this */
            iconst_0
            anewarray org.testng.ITestNGMethod
            putfield org.testng.TestRunner.m_beforeSuiteMethods:[Lorg/testng/ITestNGMethod;
        20: .line 133
            aload 0 /* this */
            iconst_0
            anewarray org.testng.ITestNGMethod
            putfield org.testng.TestRunner.m_afterSuiteMethods:[Lorg/testng/ITestNGMethod;
        21: .line 134
            aload 0 /* this */
            iconst_0
            anewarray org.testng.ITestNGMethod
            putfield org.testng.TestRunner.m_beforeXmlTestMethods:[Lorg/testng/ITestNGMethod;
        22: .line 135
            aload 0 /* this */
            iconst_0
            anewarray org.testng.ITestNGMethod
            putfield org.testng.TestRunner.m_afterXmlTestMethods:[Lorg/testng/ITestNGMethod;
        23: .line 136
            aload 0 /* this */
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            putfield org.testng.TestRunner.m_excludedMethods:Ljava/util/List;
        24: .line 137
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestRunner.m_groupMethods:Lorg/testng/internal/ConfigurationGroupMethods;
        25: .line 140
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestRunner.m_metaGroups:Ljava/util/Map;
        26: .line 143
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_passedTests:Lorg/testng/IResultMap;
        27: .line 144
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_failedTests:Lorg/testng/IResultMap;
        28: .line 145
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_failedButWithinSuccessPercentageTests:Lorg/testng/IResultMap;
        29: .line 146
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_skippedTests:Lorg/testng/IResultMap;
        30: .line 148
            aload 0 /* this */
            new org.testng.internal.RunInfo
            dup
            invokespecial org.testng.internal.RunInfo.<init>:()V
            putfield org.testng.TestRunner.m_runInfo:Lorg/testng/internal/RunInfo;
        31: .line 1153
            aload 0 /* this */
            new java.util.concurrent.ConcurrentLinkedQueue
            dup
            invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
            putfield org.testng.TestRunner.m_invokedMethods:Ljava/util/Collection;
        32: .line 1163
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_passedConfigurations:Lorg/testng/IResultMap;
        33: .line 1164
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_skippedConfigurations:Lorg/testng/IResultMap;
        34: .line 1165
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_failedConfigurations:Lorg/testng/IResultMap;
        35: .line 1199
            aload 0 /* this */
            new org.testng.internal.Attributes
            dup
            invokespecial org.testng.internal.Attributes.<init>:()V
            putfield org.testng.TestRunner.m_attributes:Lorg/testng/IAttributes;
        36: .line 1221
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newListMultiMap:()Lorg/testng/collections/ListMultiMap;
            putfield org.testng.TestRunner.m_guiceModules:Lorg/testng/collections/ListMultiMap;
        37: .line 1228
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestRunner.m_injectors:Ljava/util/Map;
        38: .line 199
            aload 0 /* this */
            aload 7 /* comparator */
            putfield org.testng.TestRunner.comparator:Ljava/util/Comparator;
        39: .line 200
            aload 0 /* this */
        40: .line 201
            aload 1 /* configuration */
        41: .line 202
            aload 2 /* suite */
        42: .line 203
            aload 3 /* test */
        43: .line 204
            aload 2 /* suite */
            invokeinterface org.testng.ISuite.getOutputDirectory:()Ljava/lang/String;
        44: .line 205
            aload 2 /* suite */
            invokeinterface org.testng.ISuite.getAnnotationFinder:()Lorg/testng/internal/annotations/IAnnotationFinder;
        45: .line 206
            iload 4 /* skipFailedInvocationCounts */
        46: .line 207
            aload 5 /* invokedMethodListeners */
        47: .line 208
            aload 6 /* classListeners */
        48: .line 200
            invokevirtual org.testng.TestRunner.init:(Lorg/testng/internal/IConfiguration;Lorg/testng/ISuite;Lorg/testng/xml/XmlTest;Ljava/lang/String;Lorg/testng/internal/annotations/IAnnotationFinder;ZLjava/util/Collection;Ljava/util/List;)V
        49: .line 209
            return
        end local 7 // java.util.Comparator comparator
        end local 6 // java.util.List classListeners
        end local 5 // java.util.Collection invokedMethodListeners
        end local 4 // boolean skipFailedInvocationCounts
        end local 3 // org.testng.xml.XmlTest test
        end local 2 // org.testng.ISuite suite
        end local 1 // org.testng.internal.IConfiguration configuration
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   50     0                        this  Lorg/testng/TestRunner;
            0   50     1               configuration  Lorg/testng/internal/IConfiguration;
            0   50     2                       suite  Lorg/testng/ISuite;
            0   50     3                        test  Lorg/testng/xml/XmlTest;
            0   50     4  skipFailedInvocationCounts  Z
            0   50     5      invokedMethodListeners  Ljava/util/Collection<Lorg/testng/IInvokedMethodListener;>;
            0   50     6              classListeners  Ljava/util/List<Lorg/testng/IClassListener;>;
            0   50     7                  comparator  Ljava/util/Comparator<Lorg/testng/ITestNGMethod;>;
    Signature: (Lorg/testng/internal/IConfiguration;Lorg/testng/ISuite;Lorg/testng/xml/XmlTest;ZLjava/util/Collection<Lorg/testng/IInvokedMethodListener;>;Ljava/util/List<Lorg/testng/IClassListener;>;Ljava/util/Comparator<Lorg/testng/ITestNGMethod;>;)V
    MethodParameters:
                            Name  Flags
      configuration               
      suite                       
      test                        
      skipFailedInvocationCounts  
      invokedMethodListeners      
      classListeners              
      comparator                  

  public void <init>(org.testng.internal.IConfiguration, org.testng.ISuite, org.testng.xml.XmlTest, boolean, java.util.Collection<org.testng.IInvokedMethodListener>, java.util.List<org.testng.IClassListener>);
    descriptor: (Lorg/testng/internal/IConfiguration;Lorg/testng/ISuite;Lorg/testng/xml/XmlTest;ZLjava/util/Collection;Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=7
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.internal.IConfiguration configuration
        start local 2 // org.testng.ISuite suite
        start local 3 // org.testng.xml.XmlTest test
        start local 4 // boolean skipFailedInvocationCounts
        start local 5 // java.util.Collection invokedMethodListeners
        start local 6 // java.util.List classListeners
         0: .line 212
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 81
            aload 0 /* this */
            new org.testng.GuiceHelper
            dup
            aload 0 /* this */
            invokespecial org.testng.GuiceHelper.<init>:(Lorg/testng/ITestContext;)V
            putfield org.testng.TestRunner.guiceHelper:Lorg/testng/GuiceHelper;
         2: .line 83
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestRunner.m_testClassesFromXml:Ljava/util/List;
         3: .line 85
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestRunner.m_invoker:Lorg/testng/internal/IInvoker;
         4: .line 86
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestRunner.m_annotationFinder:Lorg/testng/internal/annotations/IAnnotationFinder;
         5: .line 89
            aload 0 /* this */
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            putfield org.testng.TestRunner.m_testListeners:Ljava/util/List;
         6: .line 91
            aload 0 /* this */
            invokestatic org.testng.collections.Sets.newHashSet:()Ljava/util/Set;
            putfield org.testng.TestRunner.m_configurationListeners:Ljava/util/Set;
         7: .line 92
            aload 0 /* this */
            invokestatic org.testng.collections.Sets.newHashSet:()Ljava/util/Set;
            putfield org.testng.TestRunner.visualisers:Ljava/util/Set;
         8: .line 94
            aload 0 /* this */
            new org.testng.TestRunner$ConfigurationListener
            dup
            aload 0 /* this */
            invokespecial org.testng.TestRunner$ConfigurationListener.<init>:(Lorg/testng/TestRunner;)V
            putfield org.testng.TestRunner.m_confListener:Lorg/testng/IConfigurationListener;
         9: .line 96
            aload 0 /* this */
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            putfield org.testng.TestRunner.m_invokedMethodListeners:Ljava/util/Collection;
        10: .line 97
            aload 0 /* this */
        11: .line 98
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestRunner.m_classListeners:Ljava/util/Map;
        12: .line 99
            aload 0 /* this */
            new org.testng.DataProviderHolder
            dup
            invokespecial org.testng.DataProviderHolder.<init>:()V
            putfield org.testng.TestRunner.holder:Lorg/testng/DataProviderHolder;
        13: .line 105
            aload 0 /* this */
            iconst_0
            anewarray org.testng.ITestNGMethod
            putfield org.testng.TestRunner.m_allTestMethods:[Lorg/testng/ITestNGMethod;
        14: .line 109
            aload 0 /* this */
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            putfield org.testng.TestRunner.m_startDate:Ljava/util/Date;
        15: .line 110
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestRunner.m_endDate:Ljava/util/Date;
        16: .line 113
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newLinkedHashMap:()Ljava/util/Map;
            putfield org.testng.TestRunner.m_classMap:Ljava/util/Map;
        17: .line 116
            aload 0 /* this */
            ldc "test-output"
            putfield org.testng.TestRunner.m_outputDirectory:Ljava/lang/String;
        18: .line 119
            aload 0 /* this */
            new org.testng.internal.XmlMethodSelector
            dup
            invokespecial org.testng.internal.XmlMethodSelector.<init>:()V
            putfield org.testng.TestRunner.m_xmlMethodSelector:Lorg/testng/internal/XmlMethodSelector;
        19: .line 131
            aload 0 /* this */
            iconst_0
            anewarray org.testng.ITestNGMethod
            putfield org.testng.TestRunner.m_beforeSuiteMethods:[Lorg/testng/ITestNGMethod;
        20: .line 133
            aload 0 /* this */
            iconst_0
            anewarray org.testng.ITestNGMethod
            putfield org.testng.TestRunner.m_afterSuiteMethods:[Lorg/testng/ITestNGMethod;
        21: .line 134
            aload 0 /* this */
            iconst_0
            anewarray org.testng.ITestNGMethod
            putfield org.testng.TestRunner.m_beforeXmlTestMethods:[Lorg/testng/ITestNGMethod;
        22: .line 135
            aload 0 /* this */
            iconst_0
            anewarray org.testng.ITestNGMethod
            putfield org.testng.TestRunner.m_afterXmlTestMethods:[Lorg/testng/ITestNGMethod;
        23: .line 136
            aload 0 /* this */
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            putfield org.testng.TestRunner.m_excludedMethods:Ljava/util/List;
        24: .line 137
            aload 0 /* this */
            aconst_null
            putfield org.testng.TestRunner.m_groupMethods:Lorg/testng/internal/ConfigurationGroupMethods;
        25: .line 140
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestRunner.m_metaGroups:Ljava/util/Map;
        26: .line 143
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_passedTests:Lorg/testng/IResultMap;
        27: .line 144
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_failedTests:Lorg/testng/IResultMap;
        28: .line 145
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_failedButWithinSuccessPercentageTests:Lorg/testng/IResultMap;
        29: .line 146
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_skippedTests:Lorg/testng/IResultMap;
        30: .line 148
            aload 0 /* this */
            new org.testng.internal.RunInfo
            dup
            invokespecial org.testng.internal.RunInfo.<init>:()V
            putfield org.testng.TestRunner.m_runInfo:Lorg/testng/internal/RunInfo;
        31: .line 1153
            aload 0 /* this */
            new java.util.concurrent.ConcurrentLinkedQueue
            dup
            invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
            putfield org.testng.TestRunner.m_invokedMethods:Ljava/util/Collection;
        32: .line 1163
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_passedConfigurations:Lorg/testng/IResultMap;
        33: .line 1164
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_skippedConfigurations:Lorg/testng/IResultMap;
        34: .line 1165
            aload 0 /* this */
            new org.testng.internal.ResultMap
            dup
            invokespecial org.testng.internal.ResultMap.<init>:()V
            putfield org.testng.TestRunner.m_failedConfigurations:Lorg/testng/IResultMap;
        35: .line 1199
            aload 0 /* this */
            new org.testng.internal.Attributes
            dup
            invokespecial org.testng.internal.Attributes.<init>:()V
            putfield org.testng.TestRunner.m_attributes:Lorg/testng/IAttributes;
        36: .line 1221
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newListMultiMap:()Lorg/testng/collections/ListMultiMap;
            putfield org.testng.TestRunner.m_guiceModules:Lorg/testng/collections/ListMultiMap;
        37: .line 1228
            aload 0 /* this */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            putfield org.testng.TestRunner.m_injectors:Ljava/util/Map;
        38: .line 219
            aload 0 /* this */
            invokestatic org.testng.internal.Systematiser.getComparator:()Ljava/util/Comparator;
            putfield org.testng.TestRunner.comparator:Ljava/util/Comparator;
        39: .line 220
            aload 0 /* this */
        40: .line 221
            aload 1 /* configuration */
        41: .line 222
            aload 2 /* suite */
        42: .line 223
            aload 3 /* test */
        43: .line 224
            aload 2 /* suite */
            invokeinterface org.testng.ISuite.getOutputDirectory:()Ljava/lang/String;
        44: .line 225
            aload 2 /* suite */
            invokeinterface org.testng.ISuite.getAnnotationFinder:()Lorg/testng/internal/annotations/IAnnotationFinder;
        45: .line 226
            iload 4 /* skipFailedInvocationCounts */
        46: .line 227
            aload 5 /* invokedMethodListeners */
        47: .line 228
            aload 6 /* classListeners */
        48: .line 220
            invokevirtual org.testng.TestRunner.init:(Lorg/testng/internal/IConfiguration;Lorg/testng/ISuite;Lorg/testng/xml/XmlTest;Ljava/lang/String;Lorg/testng/internal/annotations/IAnnotationFinder;ZLjava/util/Collection;Ljava/util/List;)V
        49: .line 229
            return
        end local 6 // java.util.List classListeners
        end local 5 // java.util.Collection invokedMethodListeners
        end local 4 // boolean skipFailedInvocationCounts
        end local 3 // org.testng.xml.XmlTest test
        end local 2 // org.testng.ISuite suite
        end local 1 // org.testng.internal.IConfiguration configuration
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   50     0                        this  Lorg/testng/TestRunner;
            0   50     1               configuration  Lorg/testng/internal/IConfiguration;
            0   50     2                       suite  Lorg/testng/ISuite;
            0   50     3                        test  Lorg/testng/xml/XmlTest;
            0   50     4  skipFailedInvocationCounts  Z
            0   50     5      invokedMethodListeners  Ljava/util/Collection<Lorg/testng/IInvokedMethodListener;>;
            0   50     6              classListeners  Ljava/util/List<Lorg/testng/IClassListener;>;
    Signature: (Lorg/testng/internal/IConfiguration;Lorg/testng/ISuite;Lorg/testng/xml/XmlTest;ZLjava/util/Collection<Lorg/testng/IInvokedMethodListener;>;Ljava/util/List<Lorg/testng/IClassListener;>;)V
    MethodParameters:
                            Name  Flags
      configuration               
      suite                       
      test                        
      skipFailedInvocationCounts  
      invokedMethodListeners      
      classListeners              

  private void init(org.testng.internal.IConfiguration, org.testng.ISuite, org.testng.xml.XmlTest, java.lang.String, org.testng.internal.annotations.IAnnotationFinder, boolean, java.util.Collection<org.testng.IInvokedMethodListener>, java.util.List<org.testng.IClassListener>);
    descriptor: (Lorg/testng/internal/IConfiguration;Lorg/testng/ISuite;Lorg/testng/xml/XmlTest;Ljava/lang/String;Lorg/testng/internal/annotations/IAnnotationFinder;ZLjava/util/Collection;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=14, args_size=9
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.internal.IConfiguration configuration
        start local 2 // org.testng.ISuite suite
        start local 3 // org.testng.xml.XmlTest test
        start local 4 // java.lang.String outputDirectory
        start local 5 // org.testng.internal.annotations.IAnnotationFinder annotationFinder
        start local 6 // boolean skipFailedInvocationCounts
        start local 7 // java.util.Collection invokedMethodListeners
        start local 8 // java.util.List classListeners
         0: .line 240
            aload 0 /* this */
            aload 1 /* configuration */
            putfield org.testng.TestRunner.m_configuration:Lorg/testng/internal/IConfiguration;
         1: .line 241
            aload 0 /* this */
            aload 3 /* test */
            putfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
         2: .line 242
            aload 0 /* this */
            aload 2 /* suite */
            putfield org.testng.TestRunner.m_suite:Lorg/testng/ISuite;
         3: .line 243
            aload 0 /* this */
            aload 3 /* test */
            invokevirtual org.testng.xml.XmlTest.getName:()Ljava/lang/String;
            putfield org.testng.TestRunner.m_testName:Ljava/lang/String;
         4: .line 244
            aload 0 /* this */
            aload 2 /* suite */
            invokeinterface org.testng.ISuite.getHost:()Ljava/lang/String;
            putfield org.testng.TestRunner.m_host:Ljava/lang/String;
         5: .line 245
            aload 0 /* this */
            aload 3 /* test */
            invokevirtual org.testng.xml.XmlTest.getXmlClasses:()Ljava/util/List;
            putfield org.testng.TestRunner.m_testClassesFromXml:Ljava/util/List;
         6: .line 246
            aload 0 /* this */
            aload 0 /* this */
            getfield org.testng.TestRunner.m_configuration:Lorg/testng/internal/IConfiguration;
            invokeinterface org.testng.internal.IConfiguration.getInjectorFactory:()Lorg/testng/IInjectorFactory;
            putfield org.testng.TestRunner.m_injectorFactory:Lorg/testng/IInjectorFactory;
         7: .line 247
            aload 0 /* this */
            aload 3 /* test */
            invokevirtual org.testng.xml.XmlTest.getVerbose:()I
            invokevirtual org.testng.TestRunner.setVerbose:(I)V
         8: .line 249
            aload 3 /* test */
            invokevirtual org.testng.xml.XmlTest.getPreserveOrder:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 9 /* preserveOrder */
        start local 9 // boolean preserveOrder
         9: .line 251
            iload 9 /* preserveOrder */
            ifeq 11
        10: .line 252
            new org.testng.PreserveOrderMethodInterceptor
            dup
            invokespecial org.testng.PreserveOrderMethodInterceptor.<init>:()V
            goto 12
        11: .line 253
      StackMap locals: int
      StackMap stack:
            new org.testng.InstanceOrderingMethodInterceptor
            dup
            invokespecial org.testng.InstanceOrderingMethodInterceptor.<init>:()V
        12: .line 250
      StackMap locals:
      StackMap stack: org.testng.IMethodInterceptor
            astore 10 /* builtinInterceptor */
        start local 10 // org.testng.IMethodInterceptor builtinInterceptor
        13: .line 254
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.testng.TestRunner.m_methodInterceptors:Ljava/util/List;
        14: .line 258
            aload 0 /* this */
            getfield org.testng.TestRunner.m_methodInterceptors:Ljava/util/List;
            aload 10 /* builtinInterceptor */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        15: .line 260
            aload 0 /* this */
            invokevirtual org.testng.TestRunner.getAllPackages:()Ljava/util/List;
            astore 11 /* m_packageNamesFromXml */
        start local 11 // java.util.List m_packageNamesFromXml
        16: .line 261
            aload 11 /* m_packageNamesFromXml */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 19
      StackMap locals: org.testng.TestRunner org.testng.internal.IConfiguration org.testng.ISuite org.testng.xml.XmlTest java.lang.String org.testng.internal.annotations.IAnnotationFinder int java.util.Collection java.util.List int org.testng.IMethodInterceptor java.util.List top java.util.Iterator
      StackMap stack:
        17: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlPackage
            astore 12 /* xp */
        start local 12 // org.testng.xml.XmlPackage xp
        18: .line 262
            aload 0 /* this */
            getfield org.testng.TestRunner.m_testClassesFromXml:Ljava/util/List;
            aload 12 /* xp */
            invokevirtual org.testng.xml.XmlPackage.getXmlClasses:()Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 12 // org.testng.xml.XmlPackage xp
        19: .line 261
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        20: .line 265
            aload 0 /* this */
            aload 5 /* annotationFinder */
            putfield org.testng.TestRunner.m_annotationFinder:Lorg/testng/internal/annotations/IAnnotationFinder;
        21: .line 266
            aload 0 /* this */
            aload 7 /* invokedMethodListeners */
            putfield org.testng.TestRunner.m_invokedMethodListeners:Ljava/util/Collection;
        22: .line 267
            aload 0 /* this */
            getfield org.testng.TestRunner.m_classListeners:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        23: .line 268
            aload 8 /* classListeners */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 26
      StackMap locals:
      StackMap stack:
        24: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.IClassListener
            astore 12 /* classListener */
        start local 12 // org.testng.IClassListener classListener
        25: .line 269
            aload 0 /* this */
            getfield org.testng.TestRunner.m_classListeners:Ljava/util/Map;
            aload 12 /* classListener */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 12 /* classListener */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 12 // org.testng.IClassListener classListener
        26: .line 268
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        27: .line 271
            aload 0 /* this */
        28: .line 272
            new org.testng.internal.Invoker
            dup
        29: .line 273
            aload 0 /* this */
            getfield org.testng.TestRunner.m_configuration:Lorg/testng/internal/IConfiguration;
        30: .line 274
            aload 0 /* this */
        31: .line 275
            aload 0 /* this */
        32: .line 276
            aload 0 /* this */
            getfield org.testng.TestRunner.m_suite:Lorg/testng/ISuite;
            invokeinterface org.testng.ISuite.getSuiteState:()Lorg/testng/SuiteRunState;
        33: .line 277
            iload 6 /* skipFailedInvocationCounts */
        34: .line 278
            aload 7 /* invokedMethodListeners */
        35: .line 279
            aload 8 /* classListeners */
            aload 0 /* this */
            getfield org.testng.TestRunner.holder:Lorg/testng/DataProviderHolder;
        36: .line 272
            invokespecial org.testng.internal.Invoker.<init>:(Lorg/testng/internal/IConfiguration;Lorg/testng/ITestContext;Lorg/testng/internal/ITestResultNotifier;Lorg/testng/SuiteRunState;ZLjava/util/Collection;Ljava/util/List;Lorg/testng/DataProviderHolder;)V
        37: .line 271
            putfield org.testng.TestRunner.m_invoker:Lorg/testng/internal/IInvoker;
        38: .line 281
            aload 3 /* test */
            invokevirtual org.testng.xml.XmlTest.getParallel:()Lorg/testng/xml/XmlSuite$ParallelMode;
            ifnull 41
        39: .line 283
            new java.lang.StringBuilder
            dup
            ldc "Running the tests in '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* test */
            invokevirtual org.testng.xml.XmlTest.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' with parallel mode:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* test */
            invokevirtual org.testng.xml.XmlTest.getParallel:()Lorg/testng/xml/XmlSuite$ParallelMode;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        40: .line 282
            invokestatic org.testng.TestRunner.log:(Ljava/lang/String;)V
        41: .line 286
      StackMap locals: org.testng.TestRunner org.testng.internal.IConfiguration org.testng.ISuite org.testng.xml.XmlTest java.lang.String org.testng.internal.annotations.IAnnotationFinder int java.util.Collection java.util.List int org.testng.IMethodInterceptor java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 4 /* outputDirectory */
            invokevirtual org.testng.TestRunner.setOutputDirectory:(Ljava/lang/String;)V
        42: .line 289
            aload 0 /* this */
            invokevirtual org.testng.TestRunner.init:()V
        43: .line 290
            return
        end local 11 // java.util.List m_packageNamesFromXml
        end local 10 // org.testng.IMethodInterceptor builtinInterceptor
        end local 9 // boolean preserveOrder
        end local 8 // java.util.List classListeners
        end local 7 // java.util.Collection invokedMethodListeners
        end local 6 // boolean skipFailedInvocationCounts
        end local 5 // org.testng.internal.annotations.IAnnotationFinder annotationFinder
        end local 4 // java.lang.String outputDirectory
        end local 3 // org.testng.xml.XmlTest test
        end local 2 // org.testng.ISuite suite
        end local 1 // org.testng.internal.IConfiguration configuration
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   44     0                        this  Lorg/testng/TestRunner;
            0   44     1               configuration  Lorg/testng/internal/IConfiguration;
            0   44     2                       suite  Lorg/testng/ISuite;
            0   44     3                        test  Lorg/testng/xml/XmlTest;
            0   44     4             outputDirectory  Ljava/lang/String;
            0   44     5            annotationFinder  Lorg/testng/internal/annotations/IAnnotationFinder;
            0   44     6  skipFailedInvocationCounts  Z
            0   44     7      invokedMethodListeners  Ljava/util/Collection<Lorg/testng/IInvokedMethodListener;>;
            0   44     8              classListeners  Ljava/util/List<Lorg/testng/IClassListener;>;
            9   44     9               preserveOrder  Z
           13   44    10          builtinInterceptor  Lorg/testng/IMethodInterceptor;
           16   44    11       m_packageNamesFromXml  Ljava/util/List<Lorg/testng/xml/XmlPackage;>;
           18   19    12                          xp  Lorg/testng/xml/XmlPackage;
           25   26    12               classListener  Lorg/testng/IClassListener;
    Signature: (Lorg/testng/internal/IConfiguration;Lorg/testng/ISuite;Lorg/testng/xml/XmlTest;Ljava/lang/String;Lorg/testng/internal/annotations/IAnnotationFinder;ZLjava/util/Collection<Lorg/testng/IInvokedMethodListener;>;Ljava/util/List<Lorg/testng/IClassListener;>;)V
    MethodParameters:
                            Name  Flags
      configuration               
      suite                       
      test                        
      outputDirectory             
      annotationFinder            
      skipFailedInvocationCounts  
      invokedMethodListeners      
      classListeners              

  private java.util.List<org.testng.xml.XmlPackage> getAllPackages();
    descriptor: ()Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 297
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 1 /* allPackages */
        start local 1 // java.util.List allPackages
         1: .line 298
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
            invokevirtual org.testng.xml.XmlTest.getSuite:()Lorg/testng/xml/XmlSuite;
            invokevirtual org.testng.xml.XmlSuite.getPackages:()Ljava/util/List;
            astore 2 /* suitePackages */
        start local 2 // java.util.List suitePackages
         2: .line 299
            aload 2 /* suitePackages */
            ifnull 4
         3: .line 300
            aload 1 /* allPackages */
            aload 2 /* suitePackages */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         4: .line 302
      StackMap locals: java.util.List java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
            invokevirtual org.testng.xml.XmlTest.getPackages:()Ljava/util/List;
            astore 3 /* testPackages */
        start local 3 // java.util.List testPackages
         5: .line 303
            aload 3 /* testPackages */
            ifnull 7
         6: .line 304
            aload 1 /* allPackages */
            aload 3 /* testPackages */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 306
      StackMap locals: java.util.List
      StackMap stack:
            aload 1 /* allPackages */
            areturn
        end local 3 // java.util.List testPackages
        end local 2 // java.util.List suitePackages
        end local 1 // java.util.List allPackages
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/testng/TestRunner;
            1    8     1    allPackages  Ljava/util/List<Lorg/testng/xml/XmlPackage;>;
            2    8     2  suitePackages  Ljava/util/List<Lorg/testng/xml/XmlPackage;>;
            5    8     3   testPackages  Ljava/util/List<Lorg/testng/xml/XmlPackage;>;
    Signature: ()Ljava/util/List<Lorg/testng/xml/XmlPackage;>;

  public org.testng.internal.IInvoker getInvoker();
    descriptor: ()Lorg/testng/internal/IInvoker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 310
            aload 0 /* this */
            getfield org.testng.TestRunner.m_invoker:Lorg/testng/internal/IInvoker;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  public org.testng.ITestNGMethod[] getBeforeSuiteMethods();
    descriptor: ()[Lorg/testng/ITestNGMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 314
            aload 0 /* this */
            getfield org.testng.TestRunner.m_beforeSuiteMethods:[Lorg/testng/ITestNGMethod;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  public org.testng.ITestNGMethod[] getAfterSuiteMethods();
    descriptor: ()[Lorg/testng/ITestNGMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 318
            aload 0 /* this */
            getfield org.testng.TestRunner.m_afterSuiteMethods:[Lorg/testng/ITestNGMethod;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  public org.testng.ITestNGMethod[] getBeforeTestConfigurationMethods();
    descriptor: ()[Lorg/testng/ITestNGMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 322
            aload 0 /* this */
            getfield org.testng.TestRunner.m_beforeXmlTestMethods:[Lorg/testng/ITestNGMethod;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  public org.testng.ITestNGMethod[] getAfterTestConfigurationMethods();
    descriptor: ()[Lorg/testng/ITestNGMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 326
            aload 0 /* this */
            getfield org.testng.TestRunner.m_afterXmlTestMethods:[Lorg/testng/ITestNGMethod;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  private void init();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 330
            aload 0 /* this */
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
            invokevirtual org.testng.TestRunner.initMetaGroups:(Lorg/testng/xml/XmlTest;)V
         1: .line 331
            aload 0 /* this */
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
            invokevirtual org.testng.TestRunner.initRunInfo:(Lorg/testng/xml/XmlTest;)V
         2: .line 335
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
            invokevirtual org.testng.xml.XmlTest.isJUnit:()Z
            ifne 4
         3: .line 336
            aload 0 /* this */
            invokevirtual org.testng.TestRunner.initMethods:()V
         4: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.testng.TestRunner.initListeners:()V
         5: .line 340
            aload 0 /* this */
            aload 0 /* this */
            getfield org.testng.TestRunner.m_confListener:Lorg/testng/IConfigurationListener;
            invokevirtual org.testng.TestRunner.addConfigurationListener:(Lorg/testng/IConfigurationListener;)V
         6: .line 341
            aload 0 /* this */
            getfield org.testng.TestRunner.m_configuration:Lorg/testng/internal/IConfiguration;
            invokeinterface org.testng.internal.IConfiguration.getConfigurationListeners:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 9
      StackMap locals: org.testng.TestRunner top java.util.Iterator
      StackMap stack:
         7: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.IConfigurationListener
            astore 1 /* cl */
        start local 1 // org.testng.IConfigurationListener cl
         8: .line 342
            aload 0 /* this */
            aload 1 /* cl */
            invokevirtual org.testng.TestRunner.addConfigurationListener:(Lorg/testng/IConfigurationListener;)V
        end local 1 // org.testng.IConfigurationListener cl
         9: .line 341
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 344
            return
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/testng/TestRunner;
            8    9     1    cl  Lorg/testng/IConfigurationListener;

  private void initListeners();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 351
            invokestatic org.testng.collections.Sets.newHashSet:()Ljava/util/Set;
            astore 1 /* listenerClasses */
        start local 1 // java.util.Set listenerClasses
         1: .line 352
            aconst_null
            astore 2 /* listenerFactoryClass */
        start local 2 // java.lang.Class listenerFactoryClass
         2: .line 354
            aload 0 /* this */
            invokevirtual org.testng.TestRunner.getTestClasses:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 10
      StackMap locals: org.testng.TestRunner java.util.Set java.lang.Class top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.IClass
            astore 3 /* cls */
        start local 3 // org.testng.IClass cls
         4: .line 355
            aload 3 /* cls */
            invokeinterface org.testng.IClass.getRealClass:()Ljava/lang/Class;
            astore 5 /* realClass */
        start local 5 // java.lang.Class realClass
         5: .line 357
            aload 5 /* realClass */
            aload 0 /* this */
            getfield org.testng.TestRunner.m_annotationFinder:Lorg/testng/internal/annotations/IAnnotationFinder;
            invokestatic org.testng.internal.TestListenerHelper.findAllListeners:(Ljava/lang/Class;Lorg/testng/internal/annotations/IAnnotationFinder;)Lorg/testng/internal/TestListenerHelper$ListenerHolder;
         6: .line 356
            astore 6 /* listenerHolder */
        start local 6 // org.testng.internal.TestListenerHelper$ListenerHolder listenerHolder
         7: .line 358
            aload 2 /* listenerFactoryClass */
            ifnonnull 9
         8: .line 359
            aload 6 /* listenerHolder */
            invokevirtual org.testng.internal.TestListenerHelper$ListenerHolder.getListenerFactoryClass:()Ljava/lang/Class;
            astore 2 /* listenerFactoryClass */
         9: .line 361
      StackMap locals: org.testng.TestRunner java.util.Set java.lang.Class org.testng.IClass java.util.Iterator java.lang.Class org.testng.internal.TestListenerHelper$ListenerHolder
      StackMap stack:
            aload 1 /* listenerClasses */
            aload 6 /* listenerHolder */
            invokevirtual org.testng.internal.TestListenerHelper$ListenerHolder.getListenerClasses:()Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 6 // org.testng.internal.TestListenerHelper$ListenerHolder listenerHolder
        end local 5 // java.lang.Class realClass
        end local 3 // org.testng.IClass cls
        10: .line 354
      StackMap locals: org.testng.TestRunner java.util.Set java.lang.Class top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        11: .line 364
            aload 2 /* listenerFactoryClass */
            ifnonnull 13
        12: .line 365
            ldc Lorg/testng/internal/DefaultListenerFactory;
            astore 2 /* listenerFactoryClass */
        13: .line 375
      StackMap locals: org.testng.TestRunner java.util.Set java.lang.Class
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestRunner.m_testClassFinder:Lorg/testng/internal/TestNGClassFinder;
            aload 2 /* listenerFactoryClass */
            invokestatic org.testng.internal.TestListenerHelper.createListenerFactory:(Lorg/testng/internal/TestNGClassFinder;Ljava/lang/Class;)Lorg/testng/ITestNGListenerFactory;
        14: .line 374
            astore 3 /* factory */
        start local 3 // org.testng.ITestNGListenerFactory factory
        15: .line 378
            aload 1 /* listenerClasses */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 21
      StackMap locals: org.testng.TestRunner java.util.Set java.lang.Class org.testng.ITestNGListenerFactory top java.util.Iterator
      StackMap stack:
        16: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 4 /* c */
        start local 4 // java.lang.Class c
        17: .line 379
            ldc Lorg/testng/IClassListener;
            aload 4 /* c */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 19
            aload 0 /* this */
            getfield org.testng.TestRunner.m_classListeners:Ljava/util/Map;
            aload 4 /* c */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 19
        18: .line 380
            goto 21
        19: .line 382
      StackMap locals: org.testng.TestRunner java.util.Set java.lang.Class org.testng.ITestNGListenerFactory java.lang.Class java.util.Iterator
      StackMap stack:
            aload 3 /* factory */
            aload 4 /* c */
            invokeinterface org.testng.ITestNGListenerFactory.createListener:(Ljava/lang/Class;)Lorg/testng/ITestNGListener;
            astore 6 /* listener */
        start local 6 // org.testng.ITestNGListener listener
        20: .line 384
            aload 0 /* this */
            aload 6 /* listener */
            invokevirtual org.testng.TestRunner.addListener:(Lorg/testng/ITestNGListener;)V
        end local 6 // org.testng.ITestNGListener listener
        end local 4 // java.lang.Class c
        21: .line 378
      StackMap locals: org.testng.TestRunner java.util.Set java.lang.Class org.testng.ITestNGListenerFactory top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        22: .line 386
            return
        end local 3 // org.testng.ITestNGListenerFactory factory
        end local 2 // java.lang.Class listenerFactoryClass
        end local 1 // java.util.Set listenerClasses
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   23     0                  this  Lorg/testng/TestRunner;
            1   23     1       listenerClasses  Ljava/util/Set<Ljava/lang/Class<+Lorg/testng/ITestNGListener;>;>;
            2   23     2  listenerFactoryClass  Ljava/lang/Class<+Lorg/testng/ITestNGListenerFactory;>;
            4   10     3                   cls  Lorg/testng/IClass;
            5   10     5             realClass  Ljava/lang/Class<*>;
            7   10     6        listenerHolder  Lorg/testng/internal/TestListenerHelper$ListenerHolder;
           15   23     3               factory  Lorg/testng/ITestNGListenerFactory;
           17   21     4                     c  Ljava/lang/Class<+Lorg/testng/ITestNGListener;>;
           20   21     6              listener  Lorg/testng/ITestNGListener;

  private void initMetaGroups(org.testng.xml.XmlTest);
    descriptor: (Lorg/testng/xml/XmlTest;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.xml.XmlTest xmlTest
         0: .line 390
            aload 1 /* xmlTest */
            invokevirtual org.testng.xml.XmlTest.getMetaGroups:()Ljava/util/Map;
            astore 2 /* metaGroups */
        start local 2 // java.util.Map metaGroups
         1: .line 392
            aload 2 /* metaGroups */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.testng.TestRunner org.testng.xml.XmlTest java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         3: .line 393
            aload 0 /* this */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            invokevirtual org.testng.TestRunner.addMetaGroup:(Ljava/lang/String;Ljava/util/List;)V
        end local 3 // java.util.Map$Entry entry
         4: .line 392
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 395
            return
        end local 2 // java.util.Map metaGroups
        end local 1 // org.testng.xml.XmlTest xmlTest
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/testng/TestRunner;
            0    6     1     xmlTest  Lorg/testng/xml/XmlTest;
            1    6     2  metaGroups  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            3    4     3       entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
    MethodParameters:
         Name  Flags
      xmlTest  

  private void initRunInfo(org.testng.xml.XmlTest);
    descriptor: (Lorg/testng/xml/XmlTest;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.xml.XmlTest xmlTest
         0: .line 399
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlMethodSelector:Lorg/testng/internal/XmlMethodSelector;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
            invokevirtual org.testng.xml.XmlTest.getIncludedGroups:()Ljava/util/List;
            invokevirtual org.testng.TestRunner.createGroups:(Ljava/util/List;)Ljava/util/Map;
            invokevirtual org.testng.internal.XmlMethodSelector.setIncludedGroups:(Ljava/util/Map;)V
         1: .line 400
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlMethodSelector:Lorg/testng/internal/XmlMethodSelector;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
            invokevirtual org.testng.xml.XmlTest.getExcludedGroups:()Ljava/util/List;
            invokevirtual org.testng.TestRunner.createGroups:(Ljava/util/List;)Ljava/util/Map;
            invokevirtual org.testng.internal.XmlMethodSelector.setExcludedGroups:(Ljava/util/Map;)V
         2: .line 401
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlMethodSelector:Lorg/testng/internal/XmlMethodSelector;
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
            invokevirtual org.testng.xml.XmlTest.getScript:()Lorg/testng/xml/XmlScript;
            invokevirtual org.testng.internal.XmlMethodSelector.setScript:(Lorg/testng/xml/XmlScript;)V
         3: .line 404
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlMethodSelector:Lorg/testng/internal/XmlMethodSelector;
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
            invokevirtual org.testng.xml.XmlTest.getXmlClasses:()Ljava/util/List;
            invokevirtual org.testng.internal.XmlMethodSelector.setXmlClasses:(Ljava/util/List;)V
         4: .line 406
            aload 0 /* this */
            getfield org.testng.TestRunner.m_runInfo:Lorg/testng/internal/RunInfo;
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlMethodSelector:Lorg/testng/internal/XmlMethodSelector;
            bipush 10
            invokevirtual org.testng.internal.RunInfo.addMethodSelector:(Lorg/testng/IMethodSelector;I)V
         5: .line 410
            aload 1 /* xmlTest */
            invokevirtual org.testng.xml.XmlTest.getMethodSelectors:()Ljava/util/List;
            ifnull 12
         6: .line 411
            aload 1 /* xmlTest */
            invokevirtual org.testng.xml.XmlTest.getMethodSelectors:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 11
      StackMap locals: org.testng.TestRunner org.testng.xml.XmlTest top java.util.Iterator
      StackMap stack:
         7: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlMethodSelector
            astore 2 /* selector */
        start local 2 // org.testng.xml.XmlMethodSelector selector
         8: .line 412
            aload 2 /* selector */
            invokevirtual org.testng.xml.XmlMethodSelector.getClassName:()Ljava/lang/String;
            ifnull 11
         9: .line 413
            aload 2 /* selector */
            invokestatic org.testng.internal.InstanceCreator.createSelector:(Lorg/testng/xml/XmlMethodSelector;)Lorg/testng/IMethodSelector;
            astore 4 /* s */
        start local 4 // org.testng.IMethodSelector s
        10: .line 415
            aload 0 /* this */
            getfield org.testng.TestRunner.m_runInfo:Lorg/testng/internal/RunInfo;
            aload 4 /* s */
            aload 2 /* selector */
            invokevirtual org.testng.xml.XmlMethodSelector.getPriority:()I
            invokevirtual org.testng.internal.RunInfo.addMethodSelector:(Lorg/testng/IMethodSelector;I)V
        end local 4 // org.testng.IMethodSelector s
        end local 2 // org.testng.xml.XmlMethodSelector selector
        11: .line 411
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        12: .line 419
      StackMap locals: org.testng.TestRunner org.testng.xml.XmlTest
      StackMap stack:
            return
        end local 1 // org.testng.xml.XmlTest xmlTest
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/testng/TestRunner;
            0   13     1   xmlTest  Lorg/testng/xml/XmlTest;
            8   11     2  selector  Lorg/testng/xml/XmlMethodSelector;
           10   11     4         s  Lorg/testng/IMethodSelector;
    MethodParameters:
         Name  Flags
      xmlTest  final

  private void initMethods();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=16, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 426
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 1 /* beforeClassMethods */
        start local 1 // java.util.List beforeClassMethods
         1: .line 427
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 2 /* testMethods */
        start local 2 // java.util.List testMethods
         2: .line 428
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 3 /* afterClassMethods */
        start local 3 // java.util.List afterClassMethods
         3: .line 429
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 4 /* beforeSuiteMethods */
        start local 4 // java.util.List beforeSuiteMethods
         4: .line 430
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 5 /* afterSuiteMethods */
        start local 5 // java.util.List afterSuiteMethods
         5: .line 431
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 6 /* beforeXmlTestMethods */
        start local 6 // java.util.List beforeXmlTestMethods
         6: .line 432
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 7 /* afterXmlTestMethods */
        start local 7 // java.util.List afterXmlTestMethods
         7: .line 434
            new org.testng.internal.ClassInfoMap
            dup
            aload 0 /* this */
            getfield org.testng.TestRunner.m_testClassesFromXml:Ljava/util/List;
            invokespecial org.testng.internal.ClassInfoMap.<init>:(Ljava/util/List;)V
            astore 8 /* classMap */
        start local 8 // org.testng.internal.ClassInfoMap classMap
         8: .line 435
            aload 0 /* this */
         9: .line 436
            new org.testng.internal.TestNGClassFinder
            dup
        10: .line 437
            aload 8 /* classMap */
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            aload 0 /* this */
            getfield org.testng.TestRunner.m_configuration:Lorg/testng/internal/IConfiguration;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.testng.TestRunner.holder:Lorg/testng/DataProviderHolder;
        11: .line 436
            invokespecial org.testng.internal.TestNGClassFinder.<init>:(Lorg/testng/internal/ClassInfoMap;Ljava/util/Map;Lorg/testng/internal/IConfiguration;Lorg/testng/ITestContext;Lorg/testng/DataProviderHolder;)V
        12: .line 435
            putfield org.testng.TestRunner.m_testClassFinder:Lorg/testng/internal/TestNGClassFinder;
        13: .line 439
            new org.testng.internal.TestNGMethodFinder
            dup
            aload 0 /* this */
            getfield org.testng.TestRunner.m_runInfo:Lorg/testng/internal/RunInfo;
            aload 0 /* this */
            getfield org.testng.TestRunner.m_annotationFinder:Lorg/testng/internal/annotations/IAnnotationFinder;
            aload 0 /* this */
            getfield org.testng.TestRunner.comparator:Ljava/util/Comparator;
            invokespecial org.testng.internal.TestNGMethodFinder.<init>:(Lorg/testng/internal/RunInfo;Lorg/testng/internal/annotations/IAnnotationFinder;Ljava/util/Comparator;)V
        14: .line 438
            astore 9 /* testMethodFinder */
        start local 9 // org.testng.ITestMethodFinder testMethodFinder
        15: .line 441
            aload 0 /* this */
            getfield org.testng.TestRunner.m_runInfo:Lorg/testng/internal/RunInfo;
            aload 2 /* testMethods */
            invokevirtual org.testng.internal.RunInfo.setTestMethods:(Ljava/util/List;)V
        16: .line 446
            aload 0 /* this */
            getfield org.testng.TestRunner.m_testClassFinder:Lorg/testng/internal/TestNGClassFinder;
            invokevirtual org.testng.internal.TestNGClassFinder.findTestClasses:()[Lorg/testng/IClass;
            astore 10 /* classes */
        start local 10 // org.testng.IClass[] classes
        17: .line 448
            aload 10 /* classes */
            dup
            astore 14
            arraylength
            istore 13
            iconst_0
            istore 12
            goto 29
      StackMap locals: org.testng.TestRunner java.util.List java.util.List java.util.List java.util.List java.util.List java.util.List java.util.List org.testng.internal.ClassInfoMap org.testng.ITestMethodFinder org.testng.IClass[] top int int org.testng.IClass[]
      StackMap stack:
        18: aload 14
            iload 12
            aaload
            astore 11 /* ic */
        start local 11 // org.testng.IClass ic
        19: .line 452
            new org.testng.TestClass
            dup
        20: .line 453
            aload 11 /* ic */
        21: .line 454
            aload 9 /* testMethodFinder */
        22: .line 455
            aload 0 /* this */
            getfield org.testng.TestRunner.m_annotationFinder:Lorg/testng/internal/annotations/IAnnotationFinder;
        23: .line 456
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
        24: .line 457
            aload 8 /* classMap */
            aload 11 /* ic */
            invokeinterface org.testng.IClass.getRealClass:()Ljava/lang/Class;
            invokevirtual org.testng.internal.ClassInfoMap.getXmlClass:(Ljava/lang/Class;)Lorg/testng/xml/XmlClass;
            aload 0 /* this */
            getfield org.testng.TestRunner.m_testClassFinder:Lorg/testng/internal/TestNGClassFinder;
            invokevirtual org.testng.internal.TestNGClassFinder.getFactoryCreationFailedMessage:()Ljava/lang/String;
        25: .line 452
            invokespecial org.testng.TestClass.<init>:(Lorg/testng/IClass;Lorg/testng/ITestMethodFinder;Lorg/testng/internal/annotations/IAnnotationFinder;Lorg/testng/xml/XmlTest;Lorg/testng/xml/XmlClass;Ljava/lang/String;)V
        26: .line 451
            astore 15 /* tc */
        start local 15 // org.testng.ITestClass tc
        27: .line 458
            aload 0 /* this */
            getfield org.testng.TestRunner.m_classMap:Ljava/util/Map;
            aload 11 /* ic */
            invokeinterface org.testng.IClass.getRealClass:()Ljava/lang/Class;
            aload 15 /* tc */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 15 // org.testng.ITestClass tc
        end local 11 // org.testng.IClass ic
        28: .line 448
            iinc 12 1
      StackMap locals:
      StackMap stack:
        29: iload 12
            iload 13
            if_icmplt 18
        30: .line 465
            aload 0 /* this */
            getfield org.testng.TestRunner.m_classMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            iconst_1
            invokestatic org.testng.internal.MethodGroupsHelper.findGroupsMethods:(Ljava/util/Collection;Z)Ljava/util/Map;
        31: .line 464
            astore 11 /* beforeGroupMethods */
        start local 11 // java.util.Map beforeGroupMethods
        32: .line 467
            aload 0 /* this */
            getfield org.testng.TestRunner.m_classMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            iconst_0
            invokestatic org.testng.internal.MethodGroupsHelper.findGroupsMethods:(Ljava/util/Collection;Z)Ljava/util/Map;
        33: .line 466
            astore 12 /* afterGroupMethods */
        start local 12 // java.util.Map afterGroupMethods
        34: .line 473
            aload 0 /* this */
            getfield org.testng.TestRunner.m_classMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 14
            goto 53
      StackMap locals: org.testng.TestRunner java.util.List java.util.List java.util.List java.util.List java.util.List java.util.List java.util.List org.testng.internal.ClassInfoMap org.testng.ITestMethodFinder org.testng.IClass[] java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
        35: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.ITestClass
            astore 13 /* tc */
        start local 13 // org.testng.ITestClass tc
        36: .line 474
            aload 13 /* tc */
            invokeinterface org.testng.ITestClass.getTestMethods:()[Lorg/testng/ITestNGMethod;
            aload 13 /* tc */
            aload 2 /* testMethods */
            invokestatic org.testng.internal.MethodHelper.fixMethodsWithClass:([Lorg/testng/ITestNGMethod;Lorg/testng/ITestClass;Ljava/util/List;)V
        37: .line 475
            aload 13 /* tc */
            invokeinterface org.testng.ITestClass.getBeforeClassMethods:()[Lorg/testng/ITestNGMethod;
            aload 13 /* tc */
            aload 1 /* beforeClassMethods */
            invokestatic org.testng.internal.MethodHelper.fixMethodsWithClass:([Lorg/testng/ITestNGMethod;Lorg/testng/ITestClass;Ljava/util/List;)V
        38: .line 476
            aload 13 /* tc */
            invokeinterface org.testng.ITestClass.getBeforeTestMethods:()[Lorg/testng/ITestNGMethod;
            aload 13 /* tc */
            aconst_null
            invokestatic org.testng.internal.MethodHelper.fixMethodsWithClass:([Lorg/testng/ITestNGMethod;Lorg/testng/ITestClass;Ljava/util/List;)V
        39: .line 477
            aload 13 /* tc */
            invokeinterface org.testng.ITestClass.getAfterTestMethods:()[Lorg/testng/ITestNGMethod;
            aload 13 /* tc */
            aconst_null
            invokestatic org.testng.internal.MethodHelper.fixMethodsWithClass:([Lorg/testng/ITestNGMethod;Lorg/testng/ITestClass;Ljava/util/List;)V
        40: .line 478
            aload 13 /* tc */
            invokeinterface org.testng.ITestClass.getAfterClassMethods:()[Lorg/testng/ITestNGMethod;
            aload 13 /* tc */
            aload 3 /* afterClassMethods */
            invokestatic org.testng.internal.MethodHelper.fixMethodsWithClass:([Lorg/testng/ITestNGMethod;Lorg/testng/ITestClass;Ljava/util/List;)V
        41: .line 479
            aload 13 /* tc */
            invokeinterface org.testng.ITestClass.getBeforeSuiteMethods:()[Lorg/testng/ITestNGMethod;
            aload 13 /* tc */
            aload 4 /* beforeSuiteMethods */
            invokestatic org.testng.internal.MethodHelper.fixMethodsWithClass:([Lorg/testng/ITestNGMethod;Lorg/testng/ITestClass;Ljava/util/List;)V
        42: .line 480
            aload 13 /* tc */
            invokeinterface org.testng.ITestClass.getAfterSuiteMethods:()[Lorg/testng/ITestNGMethod;
            aload 13 /* tc */
            aload 5 /* afterSuiteMethods */
            invokestatic org.testng.internal.MethodHelper.fixMethodsWithClass:([Lorg/testng/ITestNGMethod;Lorg/testng/ITestClass;Ljava/util/List;)V
        43: .line 481
            aload 13 /* tc */
            invokeinterface org.testng.ITestClass.getBeforeTestConfigurationMethods:()[Lorg/testng/ITestNGMethod;
            aload 13 /* tc */
            aload 6 /* beforeXmlTestMethods */
            invokestatic org.testng.internal.MethodHelper.fixMethodsWithClass:([Lorg/testng/ITestNGMethod;Lorg/testng/ITestClass;Ljava/util/List;)V
        44: .line 482
            aload 13 /* tc */
            invokeinterface org.testng.ITestClass.getAfterTestConfigurationMethods:()[Lorg/testng/ITestNGMethod;
            aload 13 /* tc */
            aload 7 /* afterXmlTestMethods */
            invokestatic org.testng.internal.MethodHelper.fixMethodsWithClass:([Lorg/testng/ITestNGMethod;Lorg/testng/ITestClass;Ljava/util/List;)V
        45: .line 484
            aload 13 /* tc */
            invokeinterface org.testng.ITestClass.getBeforeGroupsMethods:()[Lorg/testng/ITestNGMethod;
        46: .line 485
            aload 13 /* tc */
        47: .line 486
            aload 11 /* beforeGroupMethods */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokestatic org.testng.internal.MethodHelper.uniqueMethodList:(Ljava/util/Collection;)Ljava/util/List;
        48: .line 483
            invokestatic org.testng.internal.MethodHelper.fixMethodsWithClass:([Lorg/testng/ITestNGMethod;Lorg/testng/ITestClass;Ljava/util/List;)V
        49: .line 488
            aload 13 /* tc */
            invokeinterface org.testng.ITestClass.getAfterGroupsMethods:()[Lorg/testng/ITestNGMethod;
        50: .line 489
            aload 13 /* tc */
        51: .line 490
            aload 12 /* afterGroupMethods */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokestatic org.testng.internal.MethodHelper.uniqueMethodList:(Ljava/util/Collection;)Ljava/util/List;
        52: .line 487
            invokestatic org.testng.internal.MethodHelper.fixMethodsWithClass:([Lorg/testng/ITestNGMethod;Lorg/testng/ITestClass;Ljava/util/List;)V
        end local 13 // org.testng.ITestClass tc
        53: .line 473
      StackMap locals:
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        54: .line 496
            aload 0 /* this */
        55: .line 498
            aload 4 /* beforeSuiteMethods */
        56: .line 499
            iconst_0
        57: .line 500
            aload 0 /* this */
            getfield org.testng.TestRunner.m_runInfo:Lorg/testng/internal/RunInfo;
        58: .line 501
            aload 0 /* this */
            getfield org.testng.TestRunner.m_annotationFinder:Lorg/testng/internal/annotations/IAnnotationFinder;
        59: .line 502
            iconst_1
        60: .line 503
            aload 0 /* this */
            getfield org.testng.TestRunner.m_excludedMethods:Ljava/util/List;
        61: .line 504
            aload 0 /* this */
            getfield org.testng.TestRunner.comparator:Ljava/util/Comparator;
        62: .line 497
            invokestatic org.testng.internal.MethodHelper.collectAndOrderMethods:(Ljava/util/List;ZLorg/testng/internal/RunInfo;Lorg/testng/internal/annotations/IAnnotationFinder;ZLjava/util/List;Ljava/util/Comparator;)[Lorg/testng/ITestNGMethod;
        63: .line 496
            putfield org.testng.TestRunner.m_beforeSuiteMethods:[Lorg/testng/ITestNGMethod;
        64: .line 506
            aload 0 /* this */
        65: .line 508
            aload 6 /* beforeXmlTestMethods */
        66: .line 509
            iconst_0
        67: .line 510
            aload 0 /* this */
            getfield org.testng.TestRunner.m_runInfo:Lorg/testng/internal/RunInfo;
        68: .line 511
            aload 0 /* this */
            getfield org.testng.TestRunner.m_annotationFinder:Lorg/testng/internal/annotations/IAnnotationFinder;
        69: .line 512
            iconst_1
        70: .line 513
            aload 0 /* this */
            getfield org.testng.TestRunner.m_excludedMethods:Ljava/util/List;
        71: .line 514
            aload 0 /* this */
            getfield org.testng.TestRunner.comparator:Ljava/util/Comparator;
        72: .line 507
            invokestatic org.testng.internal.MethodHelper.collectAndOrderMethods:(Ljava/util/List;ZLorg/testng/internal/RunInfo;Lorg/testng/internal/annotations/IAnnotationFinder;ZLjava/util/List;Ljava/util/Comparator;)[Lorg/testng/ITestNGMethod;
        73: .line 506
            putfield org.testng.TestRunner.m_beforeXmlTestMethods:[Lorg/testng/ITestNGMethod;
        74: .line 516
            aload 0 /* this */
        75: .line 518
            aload 2 /* testMethods */
        76: .line 519
            iconst_1
        77: .line 520
            aload 0 /* this */
            getfield org.testng.TestRunner.m_runInfo:Lorg/testng/internal/RunInfo;
        78: .line 521
            aload 0 /* this */
            getfield org.testng.TestRunner.m_annotationFinder:Lorg/testng/internal/annotations/IAnnotationFinder;
        79: .line 522
            iconst_0
        80: .line 523
            aload 0 /* this */
            getfield org.testng.TestRunner.m_excludedMethods:Ljava/util/List;
        81: .line 524
            aload 0 /* this */
            getfield org.testng.TestRunner.comparator:Ljava/util/Comparator;
        82: .line 517
            invokestatic org.testng.internal.MethodHelper.collectAndOrderMethods:(Ljava/util/List;ZLorg/testng/internal/RunInfo;Lorg/testng/internal/annotations/IAnnotationFinder;ZLjava/util/List;Ljava/util/Comparator;)[Lorg/testng/ITestNGMethod;
        83: .line 516
            putfield org.testng.TestRunner.m_allTestMethods:[Lorg/testng/ITestNGMethod;
        84: .line 525
            aload 0 /* this */
            new org.testng.ClassMethodMap
            dup
            aload 0 /* this */
            getfield org.testng.TestRunner.m_allTestMethods:[Lorg/testng/ITestNGMethod;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlMethodSelector:Lorg/testng/internal/XmlMethodSelector;
            invokespecial org.testng.ClassMethodMap.<init>:(Ljava/util/List;Lorg/testng/internal/XmlMethodSelector;)V
            putfield org.testng.TestRunner.m_classMethodMap:Lorg/testng/ClassMethodMap;
        85: .line 527
            aload 0 /* this */
        86: .line 529
            aload 7 /* afterXmlTestMethods */
        87: .line 530
            iconst_0
        88: .line 531
            aload 0 /* this */
            getfield org.testng.TestRunner.m_runInfo:Lorg/testng/internal/RunInfo;
        89: .line 532
            aload 0 /* this */
            getfield org.testng.TestRunner.m_annotationFinder:Lorg/testng/internal/annotations/IAnnotationFinder;
        90: .line 533
            iconst_1
        91: .line 534
            aload 0 /* this */
            getfield org.testng.TestRunner.m_excludedMethods:Ljava/util/List;
        92: .line 535
            aload 0 /* this */
            getfield org.testng.TestRunner.comparator:Ljava/util/Comparator;
        93: .line 528
            invokestatic org.testng.internal.MethodHelper.collectAndOrderMethods:(Ljava/util/List;ZLorg/testng/internal/RunInfo;Lorg/testng/internal/annotations/IAnnotationFinder;ZLjava/util/List;Ljava/util/Comparator;)[Lorg/testng/ITestNGMethod;
        94: .line 527
            putfield org.testng.TestRunner.m_afterXmlTestMethods:[Lorg/testng/ITestNGMethod;
        95: .line 537
            aload 0 /* this */
        96: .line 539
            aload 5 /* afterSuiteMethods */
        97: .line 540
            iconst_0
        98: .line 541
            aload 0 /* this */
            getfield org.testng.TestRunner.m_runInfo:Lorg/testng/internal/RunInfo;
        99: .line 542
            aload 0 /* this */
            getfield org.testng.TestRunner.m_annotationFinder:Lorg/testng/internal/annotations/IAnnotationFinder;
       100: .line 543
            iconst_1
       101: .line 544
            aload 0 /* this */
            getfield org.testng.TestRunner.m_excludedMethods:Ljava/util/List;
       102: .line 545
            aload 0 /* this */
            getfield org.testng.TestRunner.comparator:Ljava/util/Comparator;
       103: .line 538
            invokestatic org.testng.internal.MethodHelper.collectAndOrderMethods:(Ljava/util/List;ZLorg/testng/internal/RunInfo;Lorg/testng/internal/annotations/IAnnotationFinder;ZLjava/util/List;Ljava/util/Comparator;)[Lorg/testng/ITestNGMethod;
       104: .line 537
            putfield org.testng.TestRunner.m_afterSuiteMethods:[Lorg/testng/ITestNGMethod;
       105: .line 547
            aload 0 /* this */
       106: .line 548
            new org.testng.internal.ConfigurationGroupMethods
            dup
            aload 0 /* this */
            getfield org.testng.TestRunner.m_allTestMethods:[Lorg/testng/ITestNGMethod;
            aload 11 /* beforeGroupMethods */
            aload 12 /* afterGroupMethods */
            invokespecial org.testng.internal.ConfigurationGroupMethods.<init>:([Lorg/testng/ITestNGMethod;Ljava/util/Map;Ljava/util/Map;)V
       107: .line 547
            putfield org.testng.TestRunner.m_groupMethods:Lorg/testng/internal/ConfigurationGroupMethods;
       108: .line 549
            return
        end local 12 // java.util.Map afterGroupMethods
        end local 11 // java.util.Map beforeGroupMethods
        end local 10 // org.testng.IClass[] classes
        end local 9 // org.testng.ITestMethodFinder testMethodFinder
        end local 8 // org.testng.internal.ClassInfoMap classMap
        end local 7 // java.util.List afterXmlTestMethods
        end local 6 // java.util.List beforeXmlTestMethods
        end local 5 // java.util.List afterSuiteMethods
        end local 4 // java.util.List beforeSuiteMethods
        end local 3 // java.util.List afterClassMethods
        end local 2 // java.util.List testMethods
        end local 1 // java.util.List beforeClassMethods
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  109     0                  this  Lorg/testng/TestRunner;
            1  109     1    beforeClassMethods  Ljava/util/List<Lorg/testng/ITestNGMethod;>;
            2  109     2           testMethods  Ljava/util/List<Lorg/testng/ITestNGMethod;>;
            3  109     3     afterClassMethods  Ljava/util/List<Lorg/testng/ITestNGMethod;>;
            4  109     4    beforeSuiteMethods  Ljava/util/List<Lorg/testng/ITestNGMethod;>;
            5  109     5     afterSuiteMethods  Ljava/util/List<Lorg/testng/ITestNGMethod;>;
            6  109     6  beforeXmlTestMethods  Ljava/util/List<Lorg/testng/ITestNGMethod;>;
            7  109     7   afterXmlTestMethods  Ljava/util/List<Lorg/testng/ITestNGMethod;>;
            8  109     8              classMap  Lorg/testng/internal/ClassInfoMap;
           15  109     9      testMethodFinder  Lorg/testng/ITestMethodFinder;
           17  109    10               classes  [Lorg/testng/IClass;
           19   28    11                    ic  Lorg/testng/IClass;
           27   28    15                    tc  Lorg/testng/ITestClass;
           32  109    11    beforeGroupMethods  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lorg/testng/ITestNGMethod;>;>;
           34  109    12     afterGroupMethods  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lorg/testng/ITestNGMethod;>;>;
           36   53    13                    tc  Lorg/testng/ITestClass;

  public java.util.Collection<org.testng.ITestClass> getTestClasses();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 552
            aload 0 /* this */
            getfield org.testng.TestRunner.m_classMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;
    Signature: ()Ljava/util/Collection<Lorg/testng/ITestClass;>;

  public void setTestName(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.TestRunner this
        start local 1 // java.lang.String name
         0: .line 556
            aload 0 /* this */
            aload 1 /* name */
            putfield org.testng.TestRunner.m_testName:Ljava/lang/String;
         1: .line 557
            return
        end local 1 // java.lang.String name
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/TestRunner;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  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.TestRunner this
        start local 1 // java.lang.String od
         0: .line 560
            aload 0 /* this */
            aload 1 /* od */
            putfield org.testng.TestRunner.m_outputDirectory:Ljava/lang/String;
         1: .line 561
            return
        end local 1 // java.lang.String od
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/TestRunner;
            0    2     1    od  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      od    

  private void addMetaGroup(java.lang.String, java.util.List<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.testng.TestRunner this
        start local 1 // java.lang.String name
        start local 2 // java.util.List groupNames
         0: .line 564
            aload 0 /* this */
            getfield org.testng.TestRunner.m_metaGroups:Ljava/util/Map;
            aload 1 /* name */
            aload 2 /* groupNames */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 565
            return
        end local 2 // java.util.List groupNames
        end local 1 // java.lang.String name
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/testng/TestRunner;
            0    2     1        name  Ljava/lang/String;
            0    2     2  groupNames  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
            Name  Flags
      name        
      groupNames  

  private java.util.Map<java.lang.String, java.lang.String> createGroups(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // java.util.List groups
         0: .line 568
            aload 0 /* this */
            getfield org.testng.TestRunner.m_metaGroups:Ljava/util/Map;
            aload 1 /* groups */
            invokestatic org.testng.internal.GroupsHelper.createGroups:(Ljava/util/Map;Ljava/util/List;)Ljava/util/Map;
            areturn
        end local 1 // java.util.List groups
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/testng/TestRunner;
            0    1     1  groups  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
        Name  Flags
      groups  

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 578
            aload 0 /* this */
            invokevirtual org.testng.TestRunner.beforeRun:()V
         1: .line 581
            aload 0 /* this */
            invokevirtual org.testng.TestRunner.getTest:()Lorg/testng/xml/XmlTest;
            astore 1 /* test */
        start local 1 // org.testng.xml.XmlTest test
         2: .line 582
            aload 1 /* test */
            invokevirtual org.testng.xml.XmlTest.isJUnit:()Z
            ifeq 5
         3: .line 583
            aload 0 /* this */
            invokevirtual org.testng.TestRunner.privateRunJUnit:()V
         4: .line 584
            goto 10
         5: .line 585
      StackMap locals: org.testng.xml.XmlTest
      StackMap stack:
            aload 0 /* this */
            aload 1 /* test */
            invokevirtual org.testng.TestRunner.privateRun:(Lorg/testng/xml/XmlTest;)V
        end local 1 // org.testng.xml.XmlTest test
         6: .line 587
            goto 10
      StackMap locals: org.testng.TestRunner
      StackMap stack: java.lang.Throwable
         7: astore 2
         8: .line 588
            aload 0 /* this */
            invokevirtual org.testng.TestRunner.afterRun:()V
         9: .line 589
            aload 2
            athrow
        10: .line 588
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.testng.TestRunner.afterRun:()V
        11: .line 590
            return
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/testng/TestRunner;
            2    6     1  test  Lorg/testng/xml/XmlTest;
      Exception table:
        from    to  target  type
           1     7       7  any

  private void beforeRun();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 597
            aload 0 /* this */
            new java.util.Date
            dup
            invokestatic java.lang.System.currentTimeMillis:()J
            invokespecial java.util.Date.<init>:(J)V
            putfield org.testng.TestRunner.m_startDate:Ljava/util/Date;
         1: .line 600
            aload 0 /* this */
            invokevirtual org.testng.TestRunner.logStart:()V
         2: .line 603
            aload 0 /* this */
            iconst_1
            invokevirtual org.testng.TestRunner.fireEvent:(Z)V
         3: .line 606
            aload 0 /* this */
            invokevirtual org.testng.TestRunner.getBeforeTestConfigurationMethods:()[Lorg/testng/ITestNGMethod;
            astore 1 /* testConfigurationMethods */
        start local 1 // org.testng.ITestNGMethod[] testConfigurationMethods
         4: .line 607
            aload 0 /* this */
            aload 1 /* testConfigurationMethods */
            invokevirtual org.testng.TestRunner.invokeTestConfigurations:([Lorg/testng/ITestNGMethod;)V
         5: .line 608
            return
        end local 1 // org.testng.ITestNGMethod[] testConfigurationMethods
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    6     0                      this  Lorg/testng/TestRunner;
            4    6     1  testConfigurationMethods  [Lorg/testng/ITestNGMethod;

  private void invokeTestConfigurations(org.testng.ITestNGMethod[]);
    descriptor: ([Lorg/testng/ITestNGMethod;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.ITestNGMethod[] testConfigurationMethods
         0: .line 611
            aload 1 /* testConfigurationMethods */
            ifnull 8
            aload 1 /* testConfigurationMethods */
            arraylength
            ifle 8
         1: .line 612
            new org.testng.internal.ConfigMethodArguments$Builder
            dup
            invokespecial org.testng.internal.ConfigMethodArguments$Builder.<init>:()V
         2: .line 613
            aload 1 /* testConfigurationMethods */
            invokevirtual org.testng.internal.ConfigMethodArguments$Builder.usingConfigMethodsAs:([Lorg/testng/ITestNGMethod;)Lorg/testng/internal/ConfigMethodArguments$Builder;
         3: .line 614
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
            invokevirtual org.testng.xml.XmlTest.getSuite:()Lorg/testng/xml/XmlSuite;
            invokevirtual org.testng.internal.ConfigMethodArguments$Builder.forSuite:(Lorg/testng/xml/XmlSuite;)Lorg/testng/internal/ConfigMethodArguments$Builder;
         4: .line 615
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
            invokevirtual org.testng.xml.XmlTest.getAllParameters:()Ljava/util/Map;
            invokevirtual org.testng.internal.ConfigMethodArguments$Builder.usingParameters:(Ljava/util/Map;)Lorg/testng/internal/ConfigMethodArguments$Builder;
         5: .line 616
            invokevirtual org.testng.internal.ConfigMethodArguments$Builder.build:()Lorg/testng/internal/ConfigMethodArguments;
         6: .line 612
            astore 2 /* arguments */
        start local 2 // org.testng.internal.ConfigMethodArguments arguments
         7: .line 617
            aload 0 /* this */
            getfield org.testng.TestRunner.m_invoker:Lorg/testng/internal/IInvoker;
            invokeinterface org.testng.internal.IInvoker.getConfigInvoker:()Lorg/testng/internal/IConfigInvoker;
            aload 2 /* arguments */
            invokeinterface org.testng.internal.IConfigInvoker.invokeConfigurations:(Lorg/testng/internal/ConfigMethodArguments;)V
        end local 2 // org.testng.internal.ConfigMethodArguments arguments
         8: .line 619
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.testng.ITestNGMethod[] testConfigurationMethods
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    9     0                      this  Lorg/testng/TestRunner;
            0    9     1  testConfigurationMethods  [Lorg/testng/ITestNGMethod;
            7    8     2                 arguments  Lorg/testng/internal/ConfigMethodArguments;
    MethodParameters:
                          Name  Flags
      testConfigurationMethods  

  private void privateRunJUnit();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 622
            new org.testng.internal.ClassInfoMap
            dup
            aload 0 /* this */
            getfield org.testng.TestRunner.m_testClassesFromXml:Ljava/util/List;
            iconst_0
            invokespecial org.testng.internal.ClassInfoMap.<init>:(Ljava/util/List;Z)V
            astore 1 /* cim */
        start local 1 // org.testng.internal.ClassInfoMap cim
         1: .line 623
            aload 1 /* cim */
            invokevirtual org.testng.internal.ClassInfoMap.getClasses:()Ljava/util/Set;
            astore 2 /* classes */
        start local 2 // java.util.Set classes
         2: .line 624
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 3 /* runMethods */
        start local 3 // java.util.List runMethods
         3: .line 625
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 4 /* workers */
        start local 4 // java.util.List workers
         4: .line 630
            aload 4 /* workers */
         5: .line 631
            new org.testng.TestRunner$1
            dup
            aload 0 /* this */
            aload 2 /* classes */
            aload 1 /* cim */
            aload 3 /* runMethods */
            invokespecial org.testng.TestRunner$1.<init>:(Lorg/testng/TestRunner;Ljava/util/Set;Lorg/testng/internal/ClassInfoMap;Ljava/util/List;)V
         6: .line 630
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 679
            aload 0 /* this */
            aload 4 /* workers */
            invokevirtual org.testng.TestRunner.runJUnitWorkers:(Ljava/util/List;)V
         8: .line 680
            aload 0 /* this */
            aload 3 /* runMethods */
            iconst_0
            anewarray org.testng.ITestNGMethod
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.testng.ITestNGMethod[]
            putfield org.testng.TestRunner.m_allTestMethods:[Lorg/testng/ITestNGMethod;
         9: .line 681
            return
        end local 4 // java.util.List workers
        end local 3 // java.util.List runMethods
        end local 2 // java.util.Set classes
        end local 1 // org.testng.internal.ClassInfoMap cim
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/testng/TestRunner;
            1   10     1         cim  Lorg/testng/internal/ClassInfoMap;
            2   10     2     classes  Ljava/util/Set<Ljava/lang/Class<*>;>;
            3   10     3  runMethods  Ljava/util/List<Lorg/testng/ITestNGMethod;>;
            4   10     4     workers  Ljava/util/List<Lorg/testng/thread/IWorker<Lorg/testng/ITestNGMethod;>;>;

  private static java.util.Comparator<org.testng.ITestNGMethod> newComparator(boolean);
    descriptor: (Z)Ljava/util/Comparator;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // boolean needPrioritySort
         0: .line 684
            iload 0 /* needPrioritySort */
            ifeq 1
            new org.testng.internal.TestMethodComparator
            dup
            invokespecial org.testng.internal.TestMethodComparator.<init>:()V
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: org.testng.internal.TestMethodComparator
         2: areturn
        end local 0 // boolean needPrioritySort
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0  needPrioritySort  Z
    Signature: (Z)Ljava/util/Comparator<Lorg/testng/ITestNGMethod;>;
    MethodParameters:
                  Name  Flags
      needPrioritySort  

  private boolean sortOnPriority(org.testng.ITestNGMethod[]);
    descriptor: ([Lorg/testng/ITestNGMethod;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.ITestNGMethod[] interceptedOrder
         0: .line 688
            aload 0 /* this */
            getfield org.testng.TestRunner.m_methodInterceptors:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpgt 3
         1: .line 689
            aload 1 /* interceptedOrder */
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/testng/TestRunner.lambda$0(Lorg/testng/ITestNGMethod;)Z (6)
                  (Lorg/testng/ITestNGMethod;)Z
            invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
            ifne 3
         2: .line 688
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // org.testng.ITestNGMethod[] interceptedOrder
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/testng/TestRunner;
            0    4     1  interceptedOrder  [Lorg/testng/ITestNGMethod;
    MethodParameters:
                  Name  Flags
      interceptedOrder  

  private static java.util.concurrent.BlockingQueue<java.lang.Runnable> newQueue(boolean);
    descriptor: (Z)Ljava/util/concurrent/BlockingQueue;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // boolean needPrioritySort
         0: .line 694
            iload 0 /* needPrioritySort */
            ifeq 1
            new java.util.concurrent.PriorityBlockingQueue
            dup
            invokespecial java.util.concurrent.PriorityBlockingQueue.<init>:()V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new java.util.concurrent.LinkedBlockingQueue
            dup
            invokespecial java.util.concurrent.LinkedBlockingQueue.<init>:()V
      StackMap locals:
      StackMap stack: java.util.AbstractQueue
         2: areturn
        end local 0 // boolean needPrioritySort
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0  needPrioritySort  Z
    Signature: (Z)Ljava/util/concurrent/BlockingQueue<Ljava/lang/Runnable;>;
    MethodParameters:
                  Name  Flags
      needPrioritySort  

  private void privateRun(org.testng.xml.XmlTest);
    descriptor: (Lorg/testng/xml/XmlTest;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=11, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.xml.XmlTest xmlTest
         0: .line 701
            aload 1 /* xmlTest */
            invokevirtual org.testng.xml.XmlTest.getParallel:()Lorg/testng/xml/XmlSuite$ParallelMode;
            invokevirtual org.testng.xml.XmlSuite$ParallelMode.isParallel:()Z
            istore 2 /* parallel */
        start local 2 // boolean parallel
         1: .line 704
            iload 2 /* parallel */
            ifeq 2
            aload 1 /* xmlTest */
            invokevirtual org.testng.xml.XmlTest.getThreadCount:()I
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* threadCount */
        start local 3 // int threadCount
         4: .line 708
            aload 0 /* this */
            aload 0 /* this */
            getfield org.testng.TestRunner.m_allTestMethods:[Lorg/testng/ITestNGMethod;
            invokevirtual org.testng.TestRunner.intercept:([Lorg/testng/ITestNGMethod;)[Lorg/testng/ITestNGMethod;
            astore 4 /* interceptedOrder */
        start local 4 // org.testng.ITestNGMethod[] interceptedOrder
         5: .line 710
            aload 4 /* interceptedOrder */
            aload 0 /* this */
            invokevirtual org.testng.TestRunner.getCurrentXmlTest:()Lorg/testng/xml/XmlTest;
            invokestatic org.testng.internal.DynamicGraphHelper.createDynamicGraph:([Lorg/testng/ITestNGMethod;Lorg/testng/xml/XmlTest;)Lorg/testng/internal/DynamicGraph;
         6: .line 709
            astore 5 /* graph */
        start local 5 // org.testng.IDynamicGraph graph
         7: .line 711
            aload 5 /* graph */
            aload 0 /* this */
            getfield org.testng.TestRunner.visualisers:Ljava/util/Set;
            invokeinterface org.testng.IDynamicGraph.setVisualisers:(Ljava/util/Set;)V
         8: .line 715
            aload 0 /* this */
            aload 4 /* interceptedOrder */
            invokevirtual org.testng.TestRunner.sortOnPriority:([Lorg/testng/ITestNGMethod;)Z
            istore 6 /* needPrioritySort */
        start local 6 // boolean needPrioritySort
         9: .line 716
            iload 6 /* needPrioritySort */
            invokestatic org.testng.TestRunner.newComparator:(Z)Ljava/util/Comparator;
            astore 7 /* methodComparator */
        start local 7 // java.util.Comparator methodComparator
        10: .line 717
            iload 2 /* parallel */
            ifeq 43
        11: .line 718
            aload 5 /* graph */
            invokeinterface org.testng.IDynamicGraph.getNodeCount:()I
            ifgt 13
        12: .line 719
            return
        13: .line 722
      StackMap locals: org.testng.TestRunner org.testng.xml.XmlTest int int org.testng.ITestNGMethod[] org.testng.IDynamicGraph int java.util.Comparator
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestRunner.m_configuration:Lorg/testng/internal/IConfiguration;
            invokeinterface org.testng.internal.IConfiguration.getExecutorFactory:()Lorg/testng/thread/IExecutorFactory;
        14: .line 723
            new java.lang.StringBuilder
            dup
            ldc "test="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* xmlTest */
            invokevirtual org.testng.xml.XmlTest.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 724
            aload 5 /* graph */
        16: .line 725
            aload 0 /* this */
        17: .line 726
            iload 3 /* threadCount */
        18: .line 727
            iload 3 /* threadCount */
        19: .line 728
            lconst_0
        20: .line 729
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
        21: .line 730
            iload 6 /* needPrioritySort */
            invokestatic org.testng.TestRunner.newQueue:(Z)Ljava/util/concurrent/BlockingQueue;
        22: .line 731
            aload 7 /* methodComparator */
        23: .line 722
            invokeinterface org.testng.thread.IExecutorFactory.newTestMethodExecutor:(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;
        24: .line 721
            astore 8 /* executor */
        start local 8 // org.testng.thread.ITestNGThreadPoolExecutor executor
        25: .line 732
            aload 8 /* executor */
            invokeinterface org.testng.thread.ITestNGThreadPoolExecutor.run:()V
        26: .line 734
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
            ldc 2147483647
            invokevirtual org.testng.xml.XmlTest.getTimeOut:(J)J
            lstore 9 /* timeOut */
        start local 9 // long timeOut
        27: .line 736
            ldc "TestRunner"
        28: .line 737
            iconst_2
        29: .line 738
            new java.lang.StringBuilder
            dup
            ldc "Starting executor for test "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        30: .line 739
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
            invokevirtual org.testng.xml.XmlTest.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        31: .line 740
            ldc " with time out:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        32: .line 741
            lload 9 /* timeOut */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        33: .line 742
            ldc " milliseconds."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        34: .line 738
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        35: .line 735
            invokestatic org.testng.internal.Utils.log:(Ljava/lang/String;ILjava/lang/String;)V
        36: .line 743
            aload 8 /* executor */
            lload 9 /* timeOut */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokeinterface org.testng.thread.ITestNGThreadPoolExecutor.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
            pop
        37: .line 744
            aload 8 /* executor */
            invokeinterface org.testng.thread.ITestNGThreadPoolExecutor.shutdownNow:()Ljava/util/List;
            pop
        end local 9 // long timeOut
        38: .line 745
            goto 42
      StackMap locals: org.testng.TestRunner org.testng.xml.XmlTest int int org.testng.ITestNGMethod[] org.testng.IDynamicGraph int java.util.Comparator org.testng.thread.ITestNGThreadPoolExecutor
      StackMap stack: java.lang.InterruptedException
        39: astore 9 /* handled */
        start local 9 // java.lang.InterruptedException handled
        40: .line 746
            getstatic org.testng.TestRunner.LOGGER:Lorg/testng/log4testng/Logger;
            aload 9 /* handled */
            invokevirtual java.lang.InterruptedException.getMessage:()Ljava/lang/String;
            aload 9 /* handled */
            invokevirtual org.testng.log4testng.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        41: .line 747
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        end local 9 // java.lang.InterruptedException handled
        42: .line 749
      StackMap locals:
      StackMap stack:
            return
        end local 8 // org.testng.thread.ITestNGThreadPoolExecutor executor
        43: .line 751
      StackMap locals:
      StackMap stack:
            aload 5 /* graph */
            invokeinterface org.testng.IDynamicGraph.getFreeNodes:()Ljava/util/List;
            astore 8 /* freeNodes */
        start local 8 // java.util.List freeNodes
        44: .line 753
            aload 5 /* graph */
            invokeinterface org.testng.IDynamicGraph.getNodeCount:()I
            ifle 52
            aload 8 /* freeNodes */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 52
        45: .line 754
            new org.testng.TestNGException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No free nodes found in:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* graph */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.testng.TestNGException.<init>:(Ljava/lang/String;)V
            athrow
        46: .line 758
      StackMap locals: java.util.List
      StackMap stack:
            iload 6 /* needPrioritySort */
            ifeq 49
        47: .line 759
            aload 8 /* freeNodes */
            aload 7 /* methodComparator */
            invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
        48: .line 762
            aload 8 /* freeNodes */
            iconst_0
            iconst_1
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            astore 8 /* freeNodes */
        49: .line 764
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* freeNodes */
            invokevirtual org.testng.TestRunner.createWorkers:(Ljava/util/List;)Ljava/util/List;
            invokedynamic accept()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
                  java/lang/Runnable.run()V (9 itf)
                  (Lorg/testng/thread/IWorker;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
        50: .line 765
            aload 5 /* graph */
            aload 8 /* freeNodes */
            getstatic org.testng.IDynamicGraph$Status.FINISHED:Lorg/testng/IDynamicGraph$Status;
            invokeinterface org.testng.IDynamicGraph.setStatus:(Ljava/util/Collection;Lorg/testng/IDynamicGraph$Status;)V
        51: .line 766
            aload 5 /* graph */
            invokeinterface org.testng.IDynamicGraph.getFreeNodes:()Ljava/util/List;
            astore 8 /* freeNodes */
        52: .line 757
      StackMap locals:
      StackMap stack:
            aload 8 /* freeNodes */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 46
        53: .line 768
            return
        end local 8 // java.util.List freeNodes
        end local 7 // java.util.Comparator methodComparator
        end local 6 // boolean needPrioritySort
        end local 5 // org.testng.IDynamicGraph graph
        end local 4 // org.testng.ITestNGMethod[] interceptedOrder
        end local 3 // int threadCount
        end local 2 // boolean parallel
        end local 1 // org.testng.xml.XmlTest xmlTest
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   54     0              this  Lorg/testng/TestRunner;
            0   54     1           xmlTest  Lorg/testng/xml/XmlTest;
            1   54     2          parallel  Z
            4   54     3       threadCount  I
            5   54     4  interceptedOrder  [Lorg/testng/ITestNGMethod;
            7   54     5             graph  Lorg/testng/IDynamicGraph<Lorg/testng/ITestNGMethod;>;
            9   54     6  needPrioritySort  Z
           10   54     7  methodComparator  Ljava/util/Comparator<Lorg/testng/ITestNGMethod;>;
           25   43     8          executor  Lorg/testng/thread/ITestNGThreadPoolExecutor;
           27   38     9           timeOut  J
           40   42     9           handled  Ljava/lang/InterruptedException;
           44   54     8         freeNodes  Ljava/util/List<Lorg/testng/ITestNGMethod;>;
      Exception table:
        from    to  target  type
          26    38      39  Class java.lang.InterruptedException
    MethodParameters:
         Name  Flags
      xmlTest  

  private org.testng.ITestNGMethod[] intercept(org.testng.ITestNGMethod[]);
    descriptor: ([Lorg/testng/ITestNGMethod;)[Lorg/testng/ITestNGMethod;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.ITestNGMethod[] methods
         0: .line 774
            aload 1 /* methods */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic org.testng.internal.MethodHelper.methodsToMethodInstances:(Ljava/util/List;)Ljava/util/List;
         1: .line 773
            astore 2 /* methodInstances */
        start local 2 // java.util.List methodInstances
         2: .line 776
            aload 0 /* this */
            getfield org.testng.TestRunner.m_methodInterceptors:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.testng.TestRunner org.testng.ITestNGMethod[] java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.IMethodInterceptor
            astore 3 /* m_methodInterceptor */
        start local 3 // org.testng.IMethodInterceptor m_methodInterceptor
         4: .line 777
            aload 3 /* m_methodInterceptor */
            aload 2 /* methodInstances */
            aload 0 /* this */
            invokeinterface org.testng.IMethodInterceptor.intercept:(Ljava/util/List;Lorg/testng/ITestContext;)Ljava/util/List;
            astore 2 /* methodInstances */
        end local 3 // org.testng.IMethodInterceptor m_methodInterceptor
         5: .line 776
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 780
            aload 2 /* methodInstances */
            invokestatic org.testng.internal.MethodHelper.methodInstancesToMethods:(Ljava/util/List;)Ljava/util/List;
            astore 3 /* result */
        start local 3 // java.util.List result
         7: .line 788
            aload 0 /* this */
            new org.testng.ClassMethodMap
            dup
            aload 3 /* result */
            aconst_null
            invokespecial org.testng.ClassMethodMap.<init>:(Ljava/util/List;Lorg/testng/internal/XmlMethodSelector;)V
            putfield org.testng.TestRunner.m_classMethodMap:Lorg/testng/ClassMethodMap;
         8: .line 790
            aload 3 /* result */
            iconst_0
            anewarray org.testng.ITestNGMethod
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.testng.ITestNGMethod[]
            astore 4 /* resultArray */
        start local 4 // org.testng.ITestNGMethod[] resultArray
         9: .line 794
            aload 4 /* resultArray */
            arraylength
            aload 0 /* this */
            getfield org.testng.TestRunner.m_groupMethods:Lorg/testng/internal/ConfigurationGroupMethods;
            invokevirtual org.testng.internal.ConfigurationGroupMethods.getAllTestMethods:()[Lorg/testng/ITestNGMethod;
            arraylength
            if_icmpeq 17
        10: .line 795
            aload 0 /* this */
        11: .line 796
            new org.testng.internal.ConfigurationGroupMethods
            dup
        12: .line 797
            aload 4 /* resultArray */
        13: .line 798
            aload 0 /* this */
            getfield org.testng.TestRunner.m_groupMethods:Lorg/testng/internal/ConfigurationGroupMethods;
            invokevirtual org.testng.internal.ConfigurationGroupMethods.getBeforeGroupsMethods:()Ljava/util/Map;
        14: .line 799
            aload 0 /* this */
            getfield org.testng.TestRunner.m_groupMethods:Lorg/testng/internal/ConfigurationGroupMethods;
            invokevirtual org.testng.internal.ConfigurationGroupMethods.getAfterGroupsMethods:()Ljava/util/Map;
        15: .line 796
            invokespecial org.testng.internal.ConfigurationGroupMethods.<init>:([Lorg/testng/ITestNGMethod;Ljava/util/Map;Ljava/util/Map;)V
        16: .line 795
            putfield org.testng.TestRunner.m_groupMethods:Lorg/testng/internal/ConfigurationGroupMethods;
        17: .line 805
      StackMap locals: org.testng.TestRunner org.testng.ITestNGMethod[] java.util.List java.util.List org.testng.ITestNGMethod[]
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestRunner.m_methodInterceptors:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 23
        18: .line 806
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        19: goto 22
        20: .line 807
      StackMap locals: int
      StackMap stack:
            aload 4 /* resultArray */
            iload 5 /* i */
            aaload
            iload 5 /* i */
            invokeinterface org.testng.ITestNGMethod.setInterceptedPriority:(I)V
        21: .line 806
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 5 /* i */
            aload 4 /* resultArray */
            arraylength
            if_icmplt 20
        end local 5 // int i
        23: .line 811
      StackMap locals:
      StackMap stack:
            aload 4 /* resultArray */
            areturn
        end local 4 // org.testng.ITestNGMethod[] resultArray
        end local 3 // java.util.List result
        end local 2 // java.util.List methodInstances
        end local 1 // org.testng.ITestNGMethod[] methods
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   24     0                 this  Lorg/testng/TestRunner;
            0   24     1              methods  [Lorg/testng/ITestNGMethod;
            2   24     2      methodInstances  Ljava/util/List<Lorg/testng/IMethodInstance;>;
            4    5     3  m_methodInterceptor  Lorg/testng/IMethodInterceptor;
            7   24     3               result  Ljava/util/List<Lorg/testng/ITestNGMethod;>;
            9   24     4          resultArray  [Lorg/testng/ITestNGMethod;
           19   23     5                    i  I
    MethodParameters:
         Name  Flags
      methods  

  public java.util.List<org.testng.thread.IWorker<org.testng.ITestNGMethod>> createWorkers(java.util.List<org.testng.ITestNGMethod>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // java.util.List methods
         0: .line 824
            new org.testng.internal.AbstractParallelWorker$Arguments$Builder
            dup
            invokespecial org.testng.internal.AbstractParallelWorker$Arguments$Builder.<init>:()V
         1: .line 825
            aload 0 /* this */
            getfield org.testng.TestRunner.m_classMethodMap:Lorg/testng/ClassMethodMap;
            invokevirtual org.testng.internal.AbstractParallelWorker$Arguments$Builder.classMethodMap:(Lorg/testng/ClassMethodMap;)Lorg/testng/internal/AbstractParallelWorker$Arguments$Builder;
         2: .line 826
            aload 0 /* this */
            getfield org.testng.TestRunner.m_groupMethods:Lorg/testng/internal/ConfigurationGroupMethods;
            invokevirtual org.testng.internal.AbstractParallelWorker$Arguments$Builder.configMethods:(Lorg/testng/internal/ConfigurationGroupMethods;)Lorg/testng/internal/AbstractParallelWorker$Arguments$Builder;
         3: .line 827
            aload 0 /* this */
            getfield org.testng.TestRunner.m_annotationFinder:Lorg/testng/internal/annotations/IAnnotationFinder;
            invokevirtual org.testng.internal.AbstractParallelWorker$Arguments$Builder.finder:(Lorg/testng/internal/annotations/IAnnotationFinder;)Lorg/testng/internal/AbstractParallelWorker$Arguments$Builder;
         4: .line 828
            aload 0 /* this */
            getfield org.testng.TestRunner.m_invoker:Lorg/testng/internal/IInvoker;
            invokevirtual org.testng.internal.AbstractParallelWorker$Arguments$Builder.invoker:(Lorg/testng/internal/IInvoker;)Lorg/testng/internal/AbstractParallelWorker$Arguments$Builder;
         5: .line 829
            aload 1 /* methods */
            invokevirtual org.testng.internal.AbstractParallelWorker$Arguments$Builder.methods:(Ljava/util/List;)Lorg/testng/internal/AbstractParallelWorker$Arguments$Builder;
         6: .line 830
            aload 0 /* this */
            invokevirtual org.testng.internal.AbstractParallelWorker$Arguments$Builder.testContext:(Lorg/testng/ITestContext;)Lorg/testng/internal/AbstractParallelWorker$Arguments$Builder;
         7: .line 831
            aload 0 /* this */
            getfield org.testng.TestRunner.m_classListeners:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokevirtual org.testng.internal.AbstractParallelWorker$Arguments$Builder.listeners:(Ljava/util/Collection;)Lorg/testng/internal/AbstractParallelWorker$Arguments$Builder;
         8: .line 832
            invokevirtual org.testng.internal.AbstractParallelWorker$Arguments$Builder.build:()Lorg/testng/internal/AbstractParallelWorker$Arguments;
         9: .line 823
            astore 2 /* args */
        start local 2 // org.testng.internal.AbstractParallelWorker$Arguments args
        10: .line 833
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
            invokevirtual org.testng.xml.XmlTest.getParallel:()Lorg/testng/xml/XmlSuite$ParallelMode;
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
            invokevirtual org.testng.xml.XmlTest.getGroupByInstances:()Z
            invokestatic org.testng.internal.AbstractParallelWorker.newWorker:(Lorg/testng/xml/XmlSuite$ParallelMode;Z)Lorg/testng/internal/AbstractParallelWorker;
            aload 2 /* args */
            invokevirtual org.testng.internal.AbstractParallelWorker.createWorkers:(Lorg/testng/internal/AbstractParallelWorker$Arguments;)Ljava/util/List;
            areturn
        end local 2 // org.testng.internal.AbstractParallelWorker$Arguments args
        end local 1 // java.util.List methods
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/testng/TestRunner;
            0   11     1  methods  Ljava/util/List<Lorg/testng/ITestNGMethod;>;
           10   11     2     args  Lorg/testng/internal/AbstractParallelWorker$Arguments;
    Signature: (Ljava/util/List<Lorg/testng/ITestNGMethod;>;)Ljava/util/List<Lorg/testng/thread/IWorker<Lorg/testng/ITestNGMethod;>;>;
    MethodParameters:
         Name  Flags
      methods  

  private void runJUnitWorkers(java.util.List<? extends org.testng.thread.IWorker<org.testng.ITestNGMethod>>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // java.util.List workers
         0: .line 841
            aload 1 /* workers */
            invokedynamic accept()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
                  java/lang/Runnable.run()V (9 itf)
                  (Lorg/testng/thread/IWorker;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
         1: .line 842
            return
        end local 1 // java.util.List workers
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/testng/TestRunner;
            0    2     1  workers  Ljava/util/List<+Lorg/testng/thread/IWorker<Lorg/testng/ITestNGMethod;>;>;
    Signature: (Ljava/util/List<+Lorg/testng/thread/IWorker<Lorg/testng/ITestNGMethod;>;>;)V
    MethodParameters:
         Name  Flags
      workers  

  private void afterRun();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 846
            aload 0 /* this */
            invokevirtual org.testng.TestRunner.getAfterTestConfigurationMethods:()[Lorg/testng/ITestNGMethod;
            astore 1 /* testConfigurationMethods */
        start local 1 // org.testng.ITestNGMethod[] testConfigurationMethods
         1: .line 847
            aload 0 /* this */
            aload 1 /* testConfigurationMethods */
            invokevirtual org.testng.TestRunner.invokeTestConfigurations:([Lorg/testng/ITestNGMethod;)V
         2: .line 852
            aload 0 /* this */
            new java.util.Date
            dup
            invokestatic java.lang.System.currentTimeMillis:()J
            invokespecial java.util.Date.<init>:(J)V
            putfield org.testng.TestRunner.m_endDate:Ljava/util/Date;
         3: .line 854
            aload 0 /* this */
            invokevirtual org.testng.TestRunner.dumpInvokedMethods:()V
         4: .line 857
            aload 0 /* this */
            iconst_0
            invokevirtual org.testng.TestRunner.fireEvent:(Z)V
         5: .line 858
            return
        end local 1 // org.testng.ITestNGMethod[] testConfigurationMethods
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    6     0                      this  Lorg/testng/TestRunner;
            1    6     1  testConfigurationMethods  [Lorg/testng/ITestNGMethod;

  private void logStart();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 863
            new java.lang.StringBuilder
            dup
            ldc "Running test "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 864
            aload 0 /* this */
            getfield org.testng.TestRunner.m_testName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 865
            ldc " on "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 866
            aload 0 /* this */
            getfield org.testng.TestRunner.m_classMap:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         4: .line 867
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 868
            ldc " classes, "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 869
            ldc " included groups:["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 870
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlMethodSelector:Lorg/testng/internal/XmlMethodSelector;
            invokevirtual org.testng.internal.XmlMethodSelector.getIncludedGroups:()Ljava/util/Map;
            invokestatic org.testng.util.Strings.valueOf:(Ljava/util/Map;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 871
            ldc "] excluded groups:["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 872
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlMethodSelector:Lorg/testng/internal/XmlMethodSelector;
            invokevirtual org.testng.internal.XmlMethodSelector.getExcludedGroups:()Ljava/util/Map;
            invokestatic org.testng.util.Strings.valueOf:(Ljava/util/Map;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 873
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 863
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 862
            invokestatic org.testng.TestRunner.log:(Ljava/lang/String;)V
        13: .line 875
            invokestatic org.testng.TestRunner.getVerbose:()I
            iconst_3
            if_icmplt 18
        14: .line 876
            aload 0 /* this */
            getfield org.testng.TestRunner.m_classMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 17
      StackMap locals: org.testng.TestRunner top java.util.Iterator
      StackMap stack:
        15: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.ITestClass
            astore 1 /* tc */
        start local 1 // org.testng.ITestClass tc
        16: .line 877
            aload 1 /* tc */
            checkcast org.testng.TestClass
            invokevirtual org.testng.TestClass.dump:()V
        end local 1 // org.testng.ITestClass tc
        17: .line 876
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        18: .line 880
      StackMap locals: org.testng.TestRunner
      StackMap stack:
            return
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lorg/testng/TestRunner;
           16   17     1    tc  Lorg/testng/ITestClass;

  private void fireEvent(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // boolean isStart
         0: .line 889
            aload 0 /* this */
            getfield org.testng.TestRunner.m_testListeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: org.testng.TestRunner int top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.ITestListener
            astore 2 /* itl */
        start local 2 // org.testng.ITestListener itl
         2: .line 890
            iload 1 /* isStart */
            ifeq 5
         3: .line 891
            aload 2 /* itl */
            aload 0 /* this */
            invokeinterface org.testng.ITestListener.onStart:(Lorg/testng/ITestContext;)V
         4: .line 892
            goto 6
         5: .line 893
      StackMap locals: org.testng.TestRunner int org.testng.ITestListener java.util.Iterator
      StackMap stack:
            aload 2 /* itl */
            aload 0 /* this */
            invokeinterface org.testng.ITestListener.onFinish:(Lorg/testng/ITestContext;)V
        end local 2 // org.testng.ITestListener itl
         6: .line 889
      StackMap locals: org.testng.TestRunner int top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 896
            return
        end local 1 // boolean isStart
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/testng/TestRunner;
            0    8     1  isStart  Z
            2    6     2      itl  Lorg/testng/ITestListener;
    MethodParameters:
         Name  Flags
      isStart  

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

  public java.util.Date getStartDate();
    descriptor: ()Ljava/util/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 909
            aload 0 /* this */
            getfield org.testng.TestRunner.m_startDate:Ljava/util/Date;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  public java.util.Date getEndDate();
    descriptor: ()Ljava/util/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 915
            aload 0 /* this */
            getfield org.testng.TestRunner.m_endDate:Ljava/util/Date;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  public org.testng.IResultMap getPassedTests();
    descriptor: ()Lorg/testng/IResultMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 920
            aload 0 /* this */
            getfield org.testng.TestRunner.m_passedTests:Lorg/testng/IResultMap;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  public org.testng.IResultMap getSkippedTests();
    descriptor: ()Lorg/testng/IResultMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 925
            aload 0 /* this */
            getfield org.testng.TestRunner.m_skippedTests:Lorg/testng/IResultMap;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  public org.testng.IResultMap getFailedTests();
    descriptor: ()Lorg/testng/IResultMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 930
            aload 0 /* this */
            getfield org.testng.TestRunner.m_failedTests:Lorg/testng/IResultMap;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  public org.testng.IResultMap getFailedButWithinSuccessPercentageTests();
    descriptor: ()Lorg/testng/IResultMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 935
            aload 0 /* this */
            getfield org.testng.TestRunner.m_failedButWithinSuccessPercentageTests:Lorg/testng/IResultMap;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  public java.lang.String[] getIncludedGroups();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 940
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlMethodSelector:Lorg/testng/internal/XmlMethodSelector;
            invokevirtual org.testng.internal.XmlMethodSelector.getIncludedGroups:()Ljava/util/Map;
            astore 1 /* ig */
        start local 1 // java.util.Map ig
         1: .line 941
            aload 1 /* ig */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 1 // java.util.Map ig
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/TestRunner;
            1    2     1    ig  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public java.lang.String[] getExcludedGroups();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 946
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlMethodSelector:Lorg/testng/internal/XmlMethodSelector;
            invokevirtual org.testng.internal.XmlMethodSelector.getExcludedGroups:()Ljava/util/Map;
            astore 1 /* eg */
        start local 1 // java.util.Map eg
         1: .line 947
            aload 1 /* eg */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 1 // java.util.Map eg
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/TestRunner;
            1    2     1    eg  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  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.TestRunner this
         0: .line 952
            aload 0 /* this */
            getfield org.testng.TestRunner.m_outputDirectory:Ljava/lang/String;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  public org.testng.ISuite getSuite();
    descriptor: ()Lorg/testng/ISuite;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 958
            aload 0 /* this */
            getfield org.testng.TestRunner.m_suite:Lorg/testng/ISuite;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  public org.testng.ITestNGMethod[] getAllTestMethods();
    descriptor: ()[Lorg/testng/ITestNGMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 963
            aload 0 /* this */
            getfield org.testng.TestRunner.m_allTestMethods:[Lorg/testng/ITestNGMethod;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

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

  public java.util.Collection<org.testng.ITestNGMethod> getExcludedMethods();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 973
            invokestatic org.testng.collections.Maps.newHashMap:()Ljava/util/Map;
            astore 1 /* vResult */
        start local 1 // java.util.Map vResult
         1: .line 975
            aload 0 /* this */
            getfield org.testng.TestRunner.m_excludedMethods:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.testng.TestRunner java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.ITestNGMethod
            astore 2 /* m */
        start local 2 // org.testng.ITestNGMethod m
         3: .line 976
            aload 1 /* vResult */
            aload 2 /* m */
            aload 2 /* m */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // org.testng.ITestNGMethod m
         4: .line 975
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 979
            aload 1 /* vResult */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            areturn
        end local 1 // java.util.Map vResult
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/testng/TestRunner;
            1    6     1  vResult  Ljava/util/Map<Lorg/testng/ITestNGMethod;Lorg/testng/ITestNGMethod;>;
            3    4     2        m  Lorg/testng/ITestNGMethod;
    Signature: ()Ljava/util/Collection<Lorg/testng/ITestNGMethod;>;

  public org.testng.IResultMap getFailedConfigurations();
    descriptor: ()Lorg/testng/IResultMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 985
            aload 0 /* this */
            getfield org.testng.TestRunner.m_failedConfigurations:Lorg/testng/IResultMap;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  public org.testng.IResultMap getPassedConfigurations();
    descriptor: ()Lorg/testng/IResultMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 991
            aload 0 /* this */
            getfield org.testng.TestRunner.m_passedConfigurations:Lorg/testng/IResultMap;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  public org.testng.IResultMap getSkippedConfigurations();
    descriptor: ()Lorg/testng/IResultMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 997
            aload 0 /* this */
            getfield org.testng.TestRunner.m_skippedConfigurations:Lorg/testng/IResultMap;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  public void addPassedTest(org.testng.ITestNGMethod, org.testng.ITestResult);
    descriptor: (Lorg/testng/ITestNGMethod;Lorg/testng/ITestResult;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.ITestNGMethod tm
        start local 2 // org.testng.ITestResult tr
         0: .line 1002
            aload 0 /* this */
            getfield org.testng.TestRunner.m_passedTests:Lorg/testng/IResultMap;
            aload 2 /* tr */
            aload 1 /* tm */
            invokeinterface org.testng.IResultMap.addResult:(Lorg/testng/ITestResult;Lorg/testng/ITestNGMethod;)V
         1: .line 1003
            return
        end local 2 // org.testng.ITestResult tr
        end local 1 // org.testng.ITestNGMethod tm
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/TestRunner;
            0    2     1    tm  Lorg/testng/ITestNGMethod;
            0    2     2    tr  Lorg/testng/ITestResult;
    MethodParameters:
      Name  Flags
      tm    
      tr    

  public java.util.Set<org.testng.ITestResult> getPassedTests(org.testng.ITestNGMethod);
    descriptor: (Lorg/testng/ITestNGMethod;)Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.ITestNGMethod tm
         0: .line 1007
            aload 0 /* this */
            getfield org.testng.TestRunner.m_passedTests:Lorg/testng/IResultMap;
            aload 1 /* tm */
            invokeinterface org.testng.IResultMap.getResults:(Lorg/testng/ITestNGMethod;)Ljava/util/Set;
            areturn
        end local 1 // org.testng.ITestNGMethod tm
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;
            0    1     1    tm  Lorg/testng/ITestNGMethod;
    Signature: (Lorg/testng/ITestNGMethod;)Ljava/util/Set<Lorg/testng/ITestResult;>;
    MethodParameters:
      Name  Flags
      tm    

  public java.util.Set<org.testng.ITestResult> getFailedTests(org.testng.ITestNGMethod);
    descriptor: (Lorg/testng/ITestNGMethod;)Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.ITestNGMethod tm
         0: .line 1012
            aload 0 /* this */
            getfield org.testng.TestRunner.m_failedTests:Lorg/testng/IResultMap;
            aload 1 /* tm */
            invokeinterface org.testng.IResultMap.getResults:(Lorg/testng/ITestNGMethod;)Ljava/util/Set;
            areturn
        end local 1 // org.testng.ITestNGMethod tm
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;
            0    1     1    tm  Lorg/testng/ITestNGMethod;
    Signature: (Lorg/testng/ITestNGMethod;)Ljava/util/Set<Lorg/testng/ITestResult;>;
    MethodParameters:
      Name  Flags
      tm    

  public java.util.Set<org.testng.ITestResult> getSkippedTests(org.testng.ITestNGMethod);
    descriptor: (Lorg/testng/ITestNGMethod;)Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.ITestNGMethod tm
         0: .line 1017
            aload 0 /* this */
            getfield org.testng.TestRunner.m_skippedTests:Lorg/testng/IResultMap;
            aload 1 /* tm */
            invokeinterface org.testng.IResultMap.getResults:(Lorg/testng/ITestNGMethod;)Ljava/util/Set;
            areturn
        end local 1 // org.testng.ITestNGMethod tm
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;
            0    1     1    tm  Lorg/testng/ITestNGMethod;
    Signature: (Lorg/testng/ITestNGMethod;)Ljava/util/Set<Lorg/testng/ITestResult;>;
    MethodParameters:
      Name  Flags
      tm    

  public void addSkippedTest(org.testng.ITestNGMethod, org.testng.ITestResult);
    descriptor: (Lorg/testng/ITestNGMethod;Lorg/testng/ITestResult;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.ITestNGMethod tm
        start local 2 // org.testng.ITestResult tr
         0: .line 1022
            aload 0 /* this */
            getfield org.testng.TestRunner.m_skippedTests:Lorg/testng/IResultMap;
            aload 2 /* tr */
            aload 1 /* tm */
            invokeinterface org.testng.IResultMap.addResult:(Lorg/testng/ITestResult;Lorg/testng/ITestNGMethod;)V
         1: .line 1023
            return
        end local 2 // org.testng.ITestResult tr
        end local 1 // org.testng.ITestNGMethod tm
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/TestRunner;
            0    2     1    tm  Lorg/testng/ITestNGMethod;
            0    2     2    tr  Lorg/testng/ITestResult;
    MethodParameters:
      Name  Flags
      tm    
      tr    

  public void addInvokedMethod(org.testng.internal.InvokedMethod);
    descriptor: (Lorg/testng/internal/InvokedMethod;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.internal.InvokedMethod im
         0: .line 1027
            aload 0 /* this */
            getfield org.testng.TestRunner.m_invokedMethods:Ljava/util/Collection;
            aload 1 /* im */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         1: .line 1028
            return
        end local 1 // org.testng.internal.InvokedMethod im
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/TestRunner;
            0    2     1    im  Lorg/testng/internal/InvokedMethod;
    MethodParameters:
      Name  Flags
      im    

  public void addFailedTest(org.testng.ITestNGMethod, org.testng.ITestResult);
    descriptor: (Lorg/testng/ITestNGMethod;Lorg/testng/ITestResult;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.ITestNGMethod testMethod
        start local 2 // org.testng.ITestResult result
         0: .line 1032
            aload 0 /* this */
            aload 1 /* testMethod */
            aload 2 /* result */
            iconst_0
            invokevirtual org.testng.TestRunner.logFailedTest:(Lorg/testng/ITestNGMethod;Lorg/testng/ITestResult;Z)V
         1: .line 1033
            return
        end local 2 // org.testng.ITestResult result
        end local 1 // org.testng.ITestNGMethod testMethod
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/testng/TestRunner;
            0    2     1  testMethod  Lorg/testng/ITestNGMethod;
            0    2     2      result  Lorg/testng/ITestResult;
    MethodParameters:
            Name  Flags
      testMethod  
      result      

  public void addFailedButWithinSuccessPercentageTest(org.testng.ITestNGMethod, org.testng.ITestResult);
    descriptor: (Lorg/testng/ITestNGMethod;Lorg/testng/ITestResult;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.ITestNGMethod testMethod
        start local 2 // org.testng.ITestResult result
         0: .line 1038
            aload 0 /* this */
            aload 1 /* testMethod */
            aload 2 /* result */
            iconst_1
            invokevirtual org.testng.TestRunner.logFailedTest:(Lorg/testng/ITestNGMethod;Lorg/testng/ITestResult;Z)V
         1: .line 1039
            return
        end local 2 // org.testng.ITestResult result
        end local 1 // org.testng.ITestNGMethod testMethod
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/testng/TestRunner;
            0    2     1  testMethod  Lorg/testng/ITestNGMethod;
            0    2     2      result  Lorg/testng/ITestResult;
    MethodParameters:
            Name  Flags
      testMethod  
      result      

  public org.testng.xml.XmlTest getTest();
    descriptor: ()Lorg/testng/xml/XmlTest;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 1043
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  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.TestRunner this
         0: .line 1048
            aload 0 /* this */
            getfield org.testng.TestRunner.m_testListeners:Ljava/util/List;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;
    Signature: ()Ljava/util/List<Lorg/testng/ITestListener;>;

  public java.util.List<org.testng.IConfigurationListener> getConfigurationListeners();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 1053
            aload 0 /* this */
            getfield org.testng.TestRunner.m_configurationListeners:Ljava/util/Set;
            invokestatic org.testng.collections.Lists.newArrayList:(Ljava/util/Collection;)Ljava/util/List;
            astore 1 /* listeners */
        start local 1 // java.util.List listeners
         1: .line 1054
            aload 0 /* this */
            getfield org.testng.TestRunner.m_configuration:Lorg/testng/internal/IConfiguration;
            invokeinterface org.testng.internal.IConfiguration.getConfigurationListeners:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 12
      StackMap locals: org.testng.TestRunner java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.IConfigurationListener
            astore 2 /* each */
        start local 2 // org.testng.IConfigurationListener each
         3: .line 1055
            iconst_0
            istore 4 /* duplicate */
        start local 4 // boolean duplicate
         4: .line 1056
            aload 1 /* listeners */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 9
      StackMap locals: org.testng.TestRunner java.util.List org.testng.IConfigurationListener java.util.Iterator int top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.IConfigurationListener
            astore 5 /* listener */
        start local 5 // org.testng.IConfigurationListener listener
         6: .line 1057
            aload 2 /* each */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 5 /* listener */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 1058
            iconst_1
            istore 4 /* duplicate */
         8: .line 1059
            goto 10
        end local 5 // org.testng.IConfigurationListener listener
         9: .line 1056
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 1062
      StackMap locals: org.testng.TestRunner java.util.List org.testng.IConfigurationListener java.util.Iterator int
      StackMap stack:
            iload 4 /* duplicate */
            ifne 12
        11: .line 1063
            aload 1 /* listeners */
            aload 2 /* each */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // boolean duplicate
        end local 2 // org.testng.IConfigurationListener each
        12: .line 1054
      StackMap locals: org.testng.TestRunner java.util.List top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        13: .line 1066
            aload 1 /* listeners */
            invokestatic org.testng.collections.Lists.newArrayList:(Ljava/util/Collection;)Ljava/util/List;
            areturn
        end local 1 // java.util.List listeners
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/testng/TestRunner;
            1   14     1  listeners  Ljava/util/List<Lorg/testng/IConfigurationListener;>;
            3   12     2       each  Lorg/testng/IConfigurationListener;
            4   12     4  duplicate  Z
            6    9     5   listener  Lorg/testng/IConfigurationListener;
    Signature: ()Ljava/util/List<Lorg/testng/IConfigurationListener;>;

  private void logFailedTest(org.testng.ITestNGMethod, org.testng.ITestResult, boolean);
    descriptor: (Lorg/testng/ITestNGMethod;Lorg/testng/ITestResult;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.ITestNGMethod method
        start local 2 // org.testng.ITestResult tr
        start local 3 // boolean withinSuccessPercentage
         0: .line 1072
            iload 3 /* withinSuccessPercentage */
            ifeq 3
         1: .line 1073
            aload 0 /* this */
            getfield org.testng.TestRunner.m_failedButWithinSuccessPercentageTests:Lorg/testng/IResultMap;
            aload 2 /* tr */
            aload 1 /* method */
            invokeinterface org.testng.IResultMap.addResult:(Lorg/testng/ITestResult;Lorg/testng/ITestNGMethod;)V
         2: .line 1074
            goto 4
         3: .line 1075
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestRunner.m_failedTests:Lorg/testng/IResultMap;
            aload 2 /* tr */
            aload 1 /* method */
            invokeinterface org.testng.IResultMap.addResult:(Lorg/testng/ITestResult;Lorg/testng/ITestNGMethod;)V
         4: .line 1077
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean withinSuccessPercentage
        end local 2 // org.testng.ITestResult tr
        end local 1 // org.testng.ITestNGMethod method
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    5     0                     this  Lorg/testng/TestRunner;
            0    5     1                   method  Lorg/testng/ITestNGMethod;
            0    5     2                       tr  Lorg/testng/ITestResult;
            0    5     3  withinSuccessPercentage  Z
    MethodParameters:
                         Name  Flags
      method                   
      tr                       
      withinSuccessPercentage  

  private static void log(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 1080
            ldc "TestRunner"
            iconst_3
            aload 0 /* s */
            invokestatic org.testng.internal.Utils.log:(Ljava/lang/String;ILjava/lang/String;)V
         1: .line 1081
            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     

  public static int getVerbose();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1084
            getstatic org.testng.TestRunner.m_verbose:I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void setVerbose(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // int n
         0: .line 1088
            iload 1 /* n */
            putstatic org.testng.TestRunner.m_verbose:I
         1: .line 1089
            return
        end local 1 // int n
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/TestRunner;
            0    2     1     n  I
    MethodParameters:
      Name  Flags
      n     

  void addTestListener(org.testng.ITestListener);
    descriptor: (Lorg/testng/ITestListener;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.ITestListener listener
         0: .line 1094
            aload 0 /* this */
            getfield org.testng.TestRunner.m_testListeners:Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         1: .line 1095
            aload 1 /* listener */
            invokedynamic test(Lorg/testng/ITestListener;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/testng/TestRunner.lambda$3(Lorg/testng/ITestListener;Lorg/testng/ITestListener;)Z (6)
                  (Lorg/testng/ITestListener;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         2: .line 1096
            invokeinterface java.util.stream.Stream.findAny:()Ljava/util/Optional;
         3: .line 1094
            astore 2 /* found */
        start local 2 // java.util.Optional found
         4: .line 1097
            aload 2 /* found */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 6
         5: .line 1098
            return
         6: .line 1100
      StackMap locals: java.util.Optional
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestRunner.m_testListeners:Ljava/util/List;
            aload 1 /* listener */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1101
            return
        end local 2 // java.util.Optional found
        end local 1 // org.testng.ITestListener listener
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/testng/TestRunner;
            0    8     1  listener  Lorg/testng/ITestListener;
            4    8     2     found  Ljava/util/Optional<Lorg/testng/ITestListener;>;
    MethodParameters:
          Name  Flags
      listener  

  public void addListener(org.testng.ITestNGListener);
    descriptor: (Lorg/testng/ITestNGListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.ITestNGListener listener
         0: .line 1105
            aload 1 /* listener */
            instanceof org.testng.IMethodInterceptor
            ifeq 2
         1: .line 1106
            aload 0 /* this */
            getfield org.testng.TestRunner.m_methodInterceptors:Ljava/util/List;
            aload 1 /* listener */
            checkcast org.testng.IMethodInterceptor
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 1108
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.ITestListener
            ifeq 4
         3: .line 1110
            aload 0 /* this */
            aload 1 /* listener */
            checkcast org.testng.ITestListener
            invokevirtual org.testng.TestRunner.addTestListener:(Lorg/testng/ITestListener;)V
         4: .line 1112
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IClassListener
            ifeq 8
         5: .line 1113
            aload 1 /* listener */
            checkcast org.testng.IClassListener
            astore 2 /* classListener */
        start local 2 // org.testng.IClassListener classListener
         6: .line 1114
            aload 0 /* this */
            getfield org.testng.TestRunner.m_classListeners:Ljava/util/Map;
            aload 2 /* classListener */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 1115
            aload 0 /* this */
            getfield org.testng.TestRunner.m_classListeners:Ljava/util/Map;
            aload 2 /* classListener */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 2 /* classListener */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // org.testng.IClassListener classListener
         8: .line 1118
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IConfigurationListener
            ifeq 10
         9: .line 1119
            aload 0 /* this */
            aload 1 /* listener */
            checkcast org.testng.IConfigurationListener
            invokevirtual org.testng.TestRunner.addConfigurationListener:(Lorg/testng/IConfigurationListener;)V
        10: .line 1121
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IConfigurable
            ifeq 12
        11: .line 1122
            aload 0 /* this */
            getfield org.testng.TestRunner.m_configuration:Lorg/testng/internal/IConfiguration;
            aload 1 /* listener */
            checkcast org.testng.IConfigurable
            invokeinterface org.testng.internal.IConfiguration.setConfigurable:(Lorg/testng/IConfigurable;)V
        12: .line 1124
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IHookable
            ifeq 14
        13: .line 1125
            aload 0 /* this */
            getfield org.testng.TestRunner.m_configuration:Lorg/testng/internal/IConfiguration;
            aload 1 /* listener */
            checkcast org.testng.IHookable
            invokeinterface org.testng.internal.IConfiguration.setHookable:(Lorg/testng/IHookable;)V
        14: .line 1127
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IExecutionListener
            ifeq 18
        15: .line 1128
            aload 1 /* listener */
            checkcast org.testng.IExecutionListener
            astore 2 /* iel */
        start local 2 // org.testng.IExecutionListener iel
        16: .line 1129
            aload 0 /* this */
            getfield org.testng.TestRunner.m_configuration:Lorg/testng/internal/IConfiguration;
            aload 2 /* iel */
            invokeinterface org.testng.internal.IConfiguration.addExecutionListenerIfAbsent:(Lorg/testng/IExecutionListener;)Z
            ifeq 18
        17: .line 1130
            aload 2 /* iel */
            invokeinterface org.testng.IExecutionListener.onExecutionStart:()V
        end local 2 // org.testng.IExecutionListener iel
        18: .line 1133
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IDataProviderListener
            ifeq 21
        19: .line 1134
            aload 1 /* listener */
            checkcast org.testng.IDataProviderListener
            astore 2 /* dataProviderListener */
        start local 2 // org.testng.IDataProviderListener dataProviderListener
        20: .line 1135
            aload 0 /* this */
            getfield org.testng.TestRunner.holder:Lorg/testng/DataProviderHolder;
            aload 2 /* dataProviderListener */
            invokevirtual org.testng.DataProviderHolder.addListener:(Lorg/testng/IDataProviderListener;)V
        end local 2 // org.testng.IDataProviderListener dataProviderListener
        21: .line 1137
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IDataProviderInterceptor
            ifeq 24
        22: .line 1138
            aload 1 /* listener */
            checkcast org.testng.IDataProviderInterceptor
            astore 2 /* interceptor */
        start local 2 // org.testng.IDataProviderInterceptor interceptor
        23: .line 1139
            aload 0 /* this */
            getfield org.testng.TestRunner.holder:Lorg/testng/DataProviderHolder;
            aload 2 /* interceptor */
            invokevirtual org.testng.DataProviderHolder.addInterceptor:(Lorg/testng/IDataProviderInterceptor;)V
        end local 2 // org.testng.IDataProviderInterceptor interceptor
        24: .line 1142
      StackMap locals:
      StackMap stack:
            aload 1 /* listener */
            instanceof org.testng.IExecutionVisualiser
            ifeq 27
        25: .line 1143
            aload 1 /* listener */
            checkcast org.testng.IExecutionVisualiser
            astore 2 /* l */
        start local 2 // org.testng.IExecutionVisualiser l
        26: .line 1144
            aload 0 /* this */
            getfield org.testng.TestRunner.visualisers:Ljava/util/Set;
            aload 2 /* l */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // org.testng.IExecutionVisualiser l
        27: .line 1146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.TestRunner.m_suite:Lorg/testng/ISuite;
            aload 1 /* listener */
            invokeinterface org.testng.ISuite.addListener:(Lorg/testng/ITestNGListener;)V
        28: .line 1147
            return
        end local 1 // org.testng.ITestNGListener listener
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   29     0                  this  Lorg/testng/TestRunner;
            0   29     1              listener  Lorg/testng/ITestNGListener;
            6    8     2         classListener  Lorg/testng/IClassListener;
           16   18     2                   iel  Lorg/testng/IExecutionListener;
           20   21     2  dataProviderListener  Lorg/testng/IDataProviderListener;
           23   24     2           interceptor  Lorg/testng/IDataProviderInterceptor;
           26   27     2                     l  Lorg/testng/IExecutionVisualiser;
    MethodParameters:
          Name  Flags
      listener  

  void addConfigurationListener(org.testng.IConfigurationListener);
    descriptor: (Lorg/testng/IConfigurationListener;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.IConfigurationListener icl
         0: .line 1150
            aload 0 /* this */
            getfield org.testng.TestRunner.m_configurationListeners:Ljava/util/Set;
            aload 1 /* icl */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 1151
            return
        end local 1 // org.testng.IConfigurationListener icl
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/TestRunner;
            0    2     1   icl  Lorg/testng/IConfigurationListener;
    MethodParameters:
      Name  Flags
      icl   

  private void dumpInvokedMethods();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 1156
            aload 0 /* this */
            getfield org.testng.TestRunner.m_invokedMethods:Ljava/util/Collection;
            invokestatic org.testng.TestRunner.getVerbose:()I
            invokestatic org.testng.internal.MethodHelper.dumpInvokedMethodsInfoToConsole:(Ljava/util/Collection;I)V
         1: .line 1157
            return
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/testng/TestRunner;

  public java.util.List<org.testng.ITestNGMethod> getInvokedMethods();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 1160
            aload 0 /* this */
            getfield org.testng.TestRunner.m_invokedMethods:Ljava/util/Collection;
            invokestatic org.testng.internal.MethodHelper.invokedMethodsToMethods:(Ljava/util/Collection;)Ljava/util/List;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;
    Signature: ()Ljava/util/List<Lorg/testng/ITestNGMethod;>;

  void addMethodInterceptor(org.testng.IMethodInterceptor);
    descriptor: (Lorg/testng/IMethodInterceptor;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.IMethodInterceptor methodInterceptor
         0: .line 1189
            aload 0 /* this */
            getfield org.testng.TestRunner.m_methodInterceptors:Ljava/util/List;
            aload 1 /* methodInterceptor */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 1190
            aload 0 /* this */
            getfield org.testng.TestRunner.m_methodInterceptors:Ljava/util/List;
            aload 1 /* methodInterceptor */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 1192
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.testng.IMethodInterceptor methodInterceptor
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lorg/testng/TestRunner;
            0    3     1  methodInterceptor  Lorg/testng/IMethodInterceptor;
    MethodParameters:
                   Name  Flags
      methodInterceptor  

  public org.testng.xml.XmlTest getCurrentXmlTest();
    descriptor: ()Lorg/testng/xml/XmlTest;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 1196
            aload 0 /* this */
            getfield org.testng.TestRunner.m_xmlTest:Lorg/testng/xml/XmlTest;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;

  public java.lang.Object getAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // java.lang.String name
         0: .line 1203
            aload 0 /* this */
            getfield org.testng.TestRunner.m_attributes:Lorg/testng/IAttributes;
            aload 1 /* name */
            invokeinterface org.testng.IAttributes.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void setAttribute(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.testng.TestRunner this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object value
         0: .line 1208
            aload 0 /* this */
            getfield org.testng.TestRunner.m_attributes:Lorg/testng/IAttributes;
            aload 1 /* name */
            aload 2 /* value */
            invokeinterface org.testng.IAttributes.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 1209
            return
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String name
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/testng/TestRunner;
            0    2     1   name  Ljava/lang/String;
            0    2     2  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      name   
      value  

  public java.util.Set<java.lang.String> getAttributeNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.TestRunner this
         0: .line 1213
            aload 0 /* this */
            getfield org.testng.TestRunner.m_attributes:Lorg/testng/IAttributes;
            invokeinterface org.testng.IAttributes.getAttributeNames:()Ljava/util/Set;
            areturn
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public java.lang.Object removeAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // java.lang.String name
         0: .line 1218
            aload 0 /* this */
            getfield org.testng.TestRunner.m_attributes:Lorg/testng/IAttributes;
            aload 1 /* name */
            invokeinterface org.testng.IAttributes.removeAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.util.List<com.google.inject.Module> getGuiceModules(java.lang.Class<? extends com.google.inject.Module>);
    descriptor: (Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // java.lang.Class cls
         0: .line 1225
            aload 0 /* this */
            getfield org.testng.TestRunner.m_guiceModules:Lorg/testng/collections/ListMultiMap;
            aload 1 /* cls */
            invokevirtual org.testng.collections.ListMultiMap.get:(Ljava/lang/Object;)Ljava/util/Collection;
            checkcast java.util.List
            areturn
        end local 1 // java.lang.Class cls
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/TestRunner;
            0    1     1   cls  Ljava/lang/Class<+Lcom/google/inject/Module;>;
    Signature: (Ljava/lang/Class<+Lcom/google/inject/Module;>;)Ljava/util/List<Lcom/google/inject/Module;>;
    MethodParameters:
      Name  Flags
      cls   

  public com.google.inject.Injector getInjector(java.util.List<com.google.inject.Module>);
    descriptor: (Ljava/util/List;)Lcom/google/inject/Injector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // java.util.List moduleInstances
         0: .line 1232
            aload 0 /* this */
            getfield org.testng.TestRunner.m_injectors:Ljava/util/Map;
            aload 1 /* moduleInstances */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.google.inject.Injector
            areturn
        end local 1 // java.util.List moduleInstances
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/testng/TestRunner;
            0    1     1  moduleInstances  Ljava/util/List<Lcom/google/inject/Module;>;
    Signature: (Ljava/util/List<Lcom/google/inject/Module;>;)Lcom/google/inject/Injector;
    MethodParameters:
                 Name  Flags
      moduleInstances  

  public com.google.inject.Injector getInjector(org.testng.IClass);
    descriptor: (Lorg/testng/IClass;)Lcom/google/inject/Injector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.testng.TestRunner this
        start local 1 // org.testng.IClass iClass
         0: .line 1237
            aload 0 /* this */
            getfield org.testng.TestRunner.guiceHelper:Lorg/testng/GuiceHelper;
            aload 1 /* iClass */
            aload 0 /* this */
            getfield org.testng.TestRunner.m_injectorFactory:Lorg/testng/IInjectorFactory;
            invokevirtual org.testng.GuiceHelper.getInjector:(Lorg/testng/IClass;Lorg/testng/IInjectorFactory;)Lcom/google/inject/Injector;
            areturn
        end local 1 // org.testng.IClass iClass
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/testng/TestRunner;
            0    1     1  iClass  Lorg/testng/IClass;
    MethodParameters:
        Name  Flags
      iClass  

  public void addInjector(java.util.List<com.google.inject.Module>, com.google.inject.Injector);
    descriptor: (Ljava/util/List;Lcom/google/inject/Injector;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.testng.TestRunner this
        start local 1 // java.util.List moduleInstances
        start local 2 // com.google.inject.Injector injector
         0: .line 1242
            aload 0 /* this */
            getfield org.testng.TestRunner.m_injectors:Ljava/util/Map;
            aload 1 /* moduleInstances */
            aload 2 /* injector */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1243
            return
        end local 2 // com.google.inject.Injector injector
        end local 1 // java.util.List moduleInstances
        end local 0 // org.testng.TestRunner this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/testng/TestRunner;
            0    2     1  moduleInstances  Ljava/util/List<Lcom/google/inject/Module;>;
            0    2     2         injector  Lcom/google/inject/Injector;
    Signature: (Ljava/util/List<Lcom/google/inject/Module;>;Lcom/google/inject/Injector;)V
    MethodParameters:
                 Name  Flags
      moduleInstances  
      injector         

  private static boolean lambda$0(org.testng.ITestNGMethod);
    descriptor: (Lorg/testng/ITestNGMethod;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.ITestNGMethod m
         0: .line 689
            aload 0 /* m */
            invokeinterface org.testng.ITestNGMethod.getPriority:()I
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.testng.ITestNGMethod m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     m  Lorg/testng/ITestNGMethod;

  private static boolean lambda$3(org.testng.ITestListener, org.testng.ITestListener);
    descriptor: (Lorg/testng/ITestListener;Lorg/testng/ITestListener;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.testng.ITestListener iTestListener
         0: .line 1095
            aload 1 /* iTestListener */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 0
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // org.testng.ITestListener iTestListener
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     1  iTestListener  Lorg/testng/ITestListener;
}
Signature: Ljava/lang/Object;Lorg/testng/ITestContext;Lorg/testng/internal/ITestResultNotifier;Lorg/testng/thread/IThreadWorkerFactory<Lorg/testng/ITestNGMethod;>;
SourceFile: "TestRunner.java"
NestMembers:
  org.testng.TestRunner$1  org.testng.TestRunner$ConfigurationListener  org.testng.TestRunner$PriorityWeight
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 Status = org.testng.IDynamicGraph$Status of org.testng.IDynamicGraph
  org.testng.TestRunner$1
  private ConfigurationListener = org.testng.TestRunner$ConfigurationListener of org.testng.TestRunner
  public final PriorityWeight = org.testng.TestRunner$PriorityWeight of org.testng.TestRunner
  public Arguments = org.testng.internal.AbstractParallelWorker$Arguments of org.testng.internal.AbstractParallelWorker
  public Builder = org.testng.internal.AbstractParallelWorker$Arguments$Builder of org.testng.internal.AbstractParallelWorker$Arguments
  public Builder = org.testng.internal.ConfigMethodArguments$Builder of org.testng.internal.ConfigMethodArguments
  public ListenerHolder = org.testng.internal.TestListenerHelper$ListenerHolder of org.testng.internal.TestListenerHelper
  public final ParallelMode = org.testng.xml.XmlSuite$ParallelMode of org.testng.xml.XmlSuite