public class org.testng.reporters.EmailableReporter2$TestResult
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.testng.reporters.EmailableReporter2$TestResult
  super_class: java.lang.Object
{
  protected static final java.util.Comparator<org.testng.ITestResult> RESULT_COMPARATOR;
    descriptor: Ljava/util/Comparator;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Comparator<Lorg/testng/ITestResult;>;

  private final java.lang.String testName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<org.testng.reporters.EmailableReporter2$ClassResult> failedConfigurationResults;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/testng/reporters/EmailableReporter2$ClassResult;>;

  private final java.util.List<org.testng.reporters.EmailableReporter2$ClassResult> failedTestResults;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/testng/reporters/EmailableReporter2$ClassResult;>;

  private final java.util.List<org.testng.reporters.EmailableReporter2$ClassResult> skippedConfigurationResults;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/testng/reporters/EmailableReporter2$ClassResult;>;

  private final java.util.List<org.testng.reporters.EmailableReporter2$ClassResult> skippedTestResults;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/testng/reporters/EmailableReporter2$ClassResult;>;

  private final java.util.List<org.testng.reporters.EmailableReporter2$ClassResult> retriedTestResults;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/testng/reporters/EmailableReporter2$ClassResult;>;

  private final java.util.List<org.testng.reporters.EmailableReporter2$ClassResult> passedTestResults;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/testng/reporters/EmailableReporter2$ClassResult;>;

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

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

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

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

  private final long duration;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String includedGroups;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String excludedGroups;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 635
            ldc Lorg/testng/reporters/EmailableReporter2;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.testng.reporters.EmailableReporter2$TestResult.$assertionsDisabled:Z
         3: .line 638
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/testng/reporters/EmailableReporter2$TestResult.lambda$0(Lorg/testng/ITestResult;)Ljava/lang/String; (6)
                  (Lorg/testng/ITestResult;)Ljava/lang/String;
            invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
         4: .line 639
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/testng/reporters/EmailableReporter2$TestResult.lambda$1(Lorg/testng/ITestResult;)Ljava/lang/String; (6)
                  (Lorg/testng/ITestResult;)Ljava/lang/String;
            invokeinterface java.util.Comparator.thenComparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
         5: .line 637
            putstatic org.testng.reporters.EmailableReporter2$TestResult.RESULT_COMPARATOR:Ljava/util/Comparator;
         6: .line 639
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.testng.ITestContext);
    descriptor: (Lorg/testng/ITestContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.testng.reporters.EmailableReporter2$TestResult this
        start local 1 // org.testng.ITestContext context
         0: .line 656
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 657
            aload 0 /* this */
            aload 1 /* context */
            invokeinterface org.testng.ITestContext.getName:()Ljava/lang/String;
            putfield org.testng.reporters.EmailableReporter2$TestResult.testName:Ljava/lang/String;
         2: .line 659
            aload 1 /* context */
            invokeinterface org.testng.ITestContext.getFailedConfigurations:()Lorg/testng/IResultMap;
            invokeinterface org.testng.IResultMap.getAllResults:()Ljava/util/Set;
            astore 2 /* failedConfigurations */
        start local 2 // java.util.Set failedConfigurations
         3: .line 660
            aload 1 /* context */
            invokeinterface org.testng.ITestContext.getFailedTests:()Lorg/testng/IResultMap;
            invokeinterface org.testng.IResultMap.getAllResults:()Ljava/util/Set;
            astore 3 /* failedTests */
        start local 3 // java.util.Set failedTests
         4: .line 661
            aload 1 /* context */
            invokeinterface org.testng.ITestContext.getSkippedConfigurations:()Lorg/testng/IResultMap;
            invokeinterface org.testng.IResultMap.getAllResults:()Ljava/util/Set;
            astore 4 /* skippedConfigurations */
        start local 4 // java.util.Set skippedConfigurations
         5: .line 662
            aload 1 /* context */
            invokeinterface org.testng.ITestContext.getSkippedTests:()Lorg/testng/IResultMap;
            invokeinterface org.testng.IResultMap.getAllResults:()Ljava/util/Set;
            astore 5 /* rawSkipped */
        start local 5 // java.util.Set rawSkipped
         6: .line 663
            aload 5 /* rawSkipped */
            invokestatic org.testng.reporters.EmailableReporter2$TestResult.pruneSkipped:(Ljava/util/Set;)Ljava/util/Set;
            astore 6 /* skippedTests */
        start local 6 // java.util.Set skippedTests
         7: .line 664
            aload 5 /* rawSkipped */
            invokestatic org.testng.reporters.EmailableReporter2$TestResult.pruneRetried:(Ljava/util/Set;)Ljava/util/Set;
            astore 7 /* retriedTests */
        start local 7 // java.util.Set retriedTests
         8: .line 666
            aload 1 /* context */
            invokeinterface org.testng.ITestContext.getPassedTests:()Lorg/testng/IResultMap;
            invokeinterface org.testng.IResultMap.getAllResults:()Ljava/util/Set;
            astore 8 /* passedTests */
        start local 8 // java.util.Set passedTests
         9: .line 668
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* failedConfigurations */
            invokevirtual org.testng.reporters.EmailableReporter2$TestResult.groupResults:(Ljava/util/Set;)Ljava/util/List;
            putfield org.testng.reporters.EmailableReporter2$TestResult.failedConfigurationResults:Ljava/util/List;
        10: .line 669
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* failedTests */
            invokevirtual org.testng.reporters.EmailableReporter2$TestResult.groupResults:(Ljava/util/Set;)Ljava/util/List;
            putfield org.testng.reporters.EmailableReporter2$TestResult.failedTestResults:Ljava/util/List;
        11: .line 670
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* skippedConfigurations */
            invokevirtual org.testng.reporters.EmailableReporter2$TestResult.groupResults:(Ljava/util/Set;)Ljava/util/List;
            putfield org.testng.reporters.EmailableReporter2$TestResult.skippedConfigurationResults:Ljava/util/List;
        12: .line 671
            aload 0 /* this */
            aload 0 /* this */
            aload 6 /* skippedTests */
            invokevirtual org.testng.reporters.EmailableReporter2$TestResult.groupResults:(Ljava/util/Set;)Ljava/util/List;
            putfield org.testng.reporters.EmailableReporter2$TestResult.skippedTestResults:Ljava/util/List;
        13: .line 672
            aload 0 /* this */
            aload 0 /* this */
            aload 7 /* retriedTests */
            invokevirtual org.testng.reporters.EmailableReporter2$TestResult.groupResults:(Ljava/util/Set;)Ljava/util/List;
            putfield org.testng.reporters.EmailableReporter2$TestResult.retriedTestResults:Ljava/util/List;
        14: .line 673
            aload 0 /* this */
            aload 0 /* this */
            aload 8 /* passedTests */
            invokevirtual org.testng.reporters.EmailableReporter2$TestResult.groupResults:(Ljava/util/Set;)Ljava/util/List;
            putfield org.testng.reporters.EmailableReporter2$TestResult.passedTestResults:Ljava/util/List;
        15: .line 675
            aload 0 /* this */
            aload 3 /* failedTests */
            invokeinterface java.util.Set.size:()I
            putfield org.testng.reporters.EmailableReporter2$TestResult.failedTestCount:I
        16: .line 676
            aload 0 /* this */
            aload 7 /* retriedTests */
            invokeinterface java.util.Set.size:()I
            putfield org.testng.reporters.EmailableReporter2$TestResult.retriedTestCount:I
        17: .line 677
            aload 0 /* this */
            aload 6 /* skippedTests */
            invokeinterface java.util.Set.size:()I
            putfield org.testng.reporters.EmailableReporter2$TestResult.skippedTestCount:I
        18: .line 678
            aload 0 /* this */
            aload 8 /* passedTests */
            invokeinterface java.util.Set.size:()I
            putfield org.testng.reporters.EmailableReporter2$TestResult.passedTestCount:I
        19: .line 680
            aload 0 /* this */
            aload 1 /* context */
            invokeinterface org.testng.ITestContext.getEndDate:()Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            aload 1 /* context */
            invokeinterface org.testng.ITestContext.getStartDate:()Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            lsub
            putfield org.testng.reporters.EmailableReporter2$TestResult.duration:J
        20: .line 682
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* context */
            invokeinterface org.testng.ITestContext.getIncludedGroups:()[Ljava/lang/String;
            invokevirtual org.testng.reporters.EmailableReporter2$TestResult.formatGroups:([Ljava/lang/String;)Ljava/lang/String;
            putfield org.testng.reporters.EmailableReporter2$TestResult.includedGroups:Ljava/lang/String;
        21: .line 683
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* context */
            invokeinterface org.testng.ITestContext.getExcludedGroups:()[Ljava/lang/String;
            invokevirtual org.testng.reporters.EmailableReporter2$TestResult.formatGroups:([Ljava/lang/String;)Ljava/lang/String;
            putfield org.testng.reporters.EmailableReporter2$TestResult.excludedGroups:Ljava/lang/String;
        22: .line 684
            return
        end local 8 // java.util.Set passedTests
        end local 7 // java.util.Set retriedTests
        end local 6 // java.util.Set skippedTests
        end local 5 // java.util.Set rawSkipped
        end local 4 // java.util.Set skippedConfigurations
        end local 3 // java.util.Set failedTests
        end local 2 // java.util.Set failedConfigurations
        end local 1 // org.testng.ITestContext context
        end local 0 // org.testng.reporters.EmailableReporter2$TestResult this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   23     0                   this  Lorg/testng/reporters/EmailableReporter2$TestResult;
            0   23     1                context  Lorg/testng/ITestContext;
            3   23     2   failedConfigurations  Ljava/util/Set<Lorg/testng/ITestResult;>;
            4   23     3            failedTests  Ljava/util/Set<Lorg/testng/ITestResult;>;
            5   23     4  skippedConfigurations  Ljava/util/Set<Lorg/testng/ITestResult;>;
            6   23     5             rawSkipped  Ljava/util/Set<Lorg/testng/ITestResult;>;
            7   23     6           skippedTests  Ljava/util/Set<Lorg/testng/ITestResult;>;
            8   23     7           retriedTests  Ljava/util/Set<Lorg/testng/ITestResult;>;
            9   23     8            passedTests  Ljava/util/Set<Lorg/testng/ITestResult;>;
    MethodParameters:
         Name  Flags
      context  

  private static java.util.Set<org.testng.ITestResult> pruneSkipped(java.util.Set<org.testng.ITestResult>);
    descriptor: (Ljava/util/Set;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Set results
         0: .line 687
            aload 0 /* results */
            invokeinterface java.util.Set.stream:()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/reporters/EmailableReporter2$TestResult.lambda$2(Lorg/testng/ITestResult;)Z (6)
                  (Lorg/testng/ITestResult;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
            areturn
        end local 0 // java.util.Set results
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  results  Ljava/util/Set<Lorg/testng/ITestResult;>;
    Signature: (Ljava/util/Set<Lorg/testng/ITestResult;>;)Ljava/util/Set<Lorg/testng/ITestResult;>;
    MethodParameters:
         Name  Flags
      results  

  private static java.util.Set<org.testng.ITestResult> pruneRetried(java.util.Set<org.testng.ITestResult>);
    descriptor: (Ljava/util/Set;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Set results
         0: .line 691
            aload 0 /* results */
            invokeinterface java.util.Set.stream:()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/ITestResult.wasRetried()Z (9 itf)
                  (Lorg/testng/ITestResult;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
            areturn
        end local 0 // java.util.Set results
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  results  Ljava/util/Set<Lorg/testng/ITestResult;>;
    Signature: (Ljava/util/Set<Lorg/testng/ITestResult;>;)Ljava/util/Set<Lorg/testng/ITestResult;>;
    MethodParameters:
         Name  Flags
      results  

  protected java.util.List<org.testng.reporters.EmailableReporter2$ClassResult> groupResults(java.util.Set<org.testng.ITestResult>);
    descriptor: (Ljava/util/Set;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // org.testng.reporters.EmailableReporter2$TestResult this
        start local 1 // java.util.Set results
         0: .line 701
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 2 /* classResults */
        start local 2 // java.util.List classResults
         1: .line 702
            aload 1 /* results */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 37
         2: .line 703
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 3 /* resultsPerClass */
        start local 3 // java.util.List resultsPerClass
         3: .line 704
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 4 /* resultsPerMethod */
        start local 4 // java.util.List resultsPerMethod
         4: .line 706
            aload 1 /* results */
            invokestatic org.testng.collections.Lists.newArrayList:(Ljava/util/Collection;)Ljava/util/List;
            astore 5 /* resultsList */
        start local 5 // java.util.List resultsList
         5: .line 707
            aload 5 /* resultsList */
            getstatic org.testng.reporters.EmailableReporter2$TestResult.RESULT_COMPARATOR:Ljava/util/Comparator;
            invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
         6: .line 708
            aload 5 /* resultsList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6 /* resultsIterator */
        start local 6 // java.util.Iterator resultsIterator
         7: .line 709
            getstatic org.testng.reporters.EmailableReporter2$TestResult.$assertionsDisabled:Z
            ifne 8
            aload 6 /* resultsIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 711
      StackMap locals: org.testng.reporters.EmailableReporter2$TestResult java.util.Set java.util.List java.util.List java.util.List java.util.List java.util.Iterator
      StackMap stack:
            aload 6 /* resultsIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.ITestResult
            astore 7 /* result */
        start local 7 // org.testng.ITestResult result
         9: .line 712
            aload 4 /* resultsPerMethod */
            aload 7 /* result */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 714
            aload 7 /* result */
            invokeinterface org.testng.ITestResult.getTestClass:()Lorg/testng/IClass;
            invokeinterface org.testng.IClass.getName:()Ljava/lang/String;
            astore 8 /* previousClassName */
        start local 8 // java.lang.String previousClassName
        11: .line 715
            aload 7 /* result */
            invokeinterface org.testng.ITestResult.getMethod:()Lorg/testng/ITestNGMethod;
            invokeinterface org.testng.ITestNGMethod.getMethodName:()Ljava/lang/String;
            astore 9 /* previousMethodName */
        start local 9 // java.lang.String previousMethodName
        12: .line 716
            goto 32
        13: .line 717
      StackMap locals: org.testng.ITestResult java.lang.String java.lang.String
      StackMap stack:
            aload 6 /* resultsIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.ITestResult
            astore 7 /* result */
        14: .line 719
            aload 7 /* result */
            invokeinterface org.testng.ITestResult.getTestClass:()Lorg/testng/IClass;
            invokeinterface org.testng.IClass.getName:()Ljava/lang/String;
            astore 10 /* className */
        start local 10 // java.lang.String className
        15: .line 720
            aload 8 /* previousClassName */
            aload 10 /* className */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 25
        16: .line 722
            getstatic org.testng.reporters.EmailableReporter2$TestResult.$assertionsDisabled:Z
            ifne 17
            aload 4 /* resultsPerMethod */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 723
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* resultsPerClass */
            new org.testng.reporters.EmailableReporter2$MethodResult
            dup
            aload 4 /* resultsPerMethod */
            invokespecial org.testng.reporters.EmailableReporter2$MethodResult.<init>:(Ljava/util/List;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 724
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 4 /* resultsPerMethod */
        19: .line 726
            getstatic org.testng.reporters.EmailableReporter2$TestResult.$assertionsDisabled:Z
            ifne 20
            aload 3 /* resultsPerClass */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 20
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 727
      StackMap locals:
      StackMap stack:
            aload 2 /* classResults */
            new org.testng.reporters.EmailableReporter2$ClassResult
            dup
            aload 8 /* previousClassName */
            aload 3 /* resultsPerClass */
            invokespecial org.testng.reporters.EmailableReporter2$ClassResult.<init>:(Ljava/lang/String;Ljava/util/List;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        21: .line 728
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 3 /* resultsPerClass */
        22: .line 730
            aload 10 /* className */
            astore 8 /* previousClassName */
        23: .line 731
            aload 7 /* result */
            invokeinterface org.testng.ITestResult.getMethod:()Lorg/testng/ITestNGMethod;
            invokeinterface org.testng.ITestNGMethod.getMethodName:()Ljava/lang/String;
            astore 9 /* previousMethodName */
        24: .line 732
            goto 31
        25: .line 733
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            invokeinterface org.testng.ITestResult.getMethod:()Lorg/testng/ITestNGMethod;
            invokeinterface org.testng.ITestNGMethod.getMethodName:()Ljava/lang/String;
            astore 11 /* methodName */
        start local 11 // java.lang.String methodName
        26: .line 734
            aload 9 /* previousMethodName */
            aload 11 /* methodName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 31
        27: .line 735
            getstatic org.testng.reporters.EmailableReporter2$TestResult.$assertionsDisabled:Z
            ifne 28
            aload 4 /* resultsPerMethod */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 28
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        28: .line 736
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* resultsPerClass */
            new org.testng.reporters.EmailableReporter2$MethodResult
            dup
            aload 4 /* resultsPerMethod */
            invokespecial org.testng.reporters.EmailableReporter2$MethodResult.<init>:(Ljava/util/List;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        29: .line 737
            invokestatic org.testng.collections.Lists.newArrayList:()Ljava/util/List;
            astore 4 /* resultsPerMethod */
        30: .line 739
            aload 11 /* methodName */
            astore 9 /* previousMethodName */
        end local 11 // java.lang.String methodName
        31: .line 742
      StackMap locals:
      StackMap stack:
            aload 4 /* resultsPerMethod */
            aload 7 /* result */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // java.lang.String className
        32: .line 716
      StackMap locals:
      StackMap stack:
            aload 6 /* resultsIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        33: .line 744
            getstatic org.testng.reporters.EmailableReporter2$TestResult.$assertionsDisabled:Z
            ifne 34
            aload 4 /* resultsPerMethod */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 34
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        34: .line 745
      StackMap locals:
      StackMap stack:
            aload 3 /* resultsPerClass */
            new org.testng.reporters.EmailableReporter2$MethodResult
            dup
            aload 4 /* resultsPerMethod */
            invokespecial org.testng.reporters.EmailableReporter2$MethodResult.<init>:(Ljava/util/List;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        35: .line 746
            getstatic org.testng.reporters.EmailableReporter2$TestResult.$assertionsDisabled:Z
            ifne 36
            aload 3 /* resultsPerClass */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 36
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        36: .line 747
      StackMap locals:
      StackMap stack:
            aload 2 /* classResults */
            new org.testng.reporters.EmailableReporter2$ClassResult
            dup
            aload 8 /* previousClassName */
            aload 3 /* resultsPerClass */
            invokespecial org.testng.reporters.EmailableReporter2$ClassResult.<init>:(Ljava/lang/String;Ljava/util/List;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // java.lang.String previousMethodName
        end local 8 // java.lang.String previousClassName
        end local 7 // org.testng.ITestResult result
        end local 6 // java.util.Iterator resultsIterator
        end local 5 // java.util.List resultsList
        end local 4 // java.util.List resultsPerMethod
        end local 3 // java.util.List resultsPerClass
        37: .line 749
      StackMap locals: org.testng.reporters.EmailableReporter2$TestResult java.util.Set java.util.List
      StackMap stack:
            aload 2 /* classResults */
            areturn
        end local 2 // java.util.List classResults
        end local 1 // java.util.Set results
        end local 0 // org.testng.reporters.EmailableReporter2$TestResult this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   38     0                this  Lorg/testng/reporters/EmailableReporter2$TestResult;
            0   38     1             results  Ljava/util/Set<Lorg/testng/ITestResult;>;
            1   38     2        classResults  Ljava/util/List<Lorg/testng/reporters/EmailableReporter2$ClassResult;>;
            3   37     3     resultsPerClass  Ljava/util/List<Lorg/testng/reporters/EmailableReporter2$MethodResult;>;
            4   37     4    resultsPerMethod  Ljava/util/List<Lorg/testng/ITestResult;>;
            5   37     5         resultsList  Ljava/util/List<Lorg/testng/ITestResult;>;
            7   37     6     resultsIterator  Ljava/util/Iterator<Lorg/testng/ITestResult;>;
            9   37     7              result  Lorg/testng/ITestResult;
           11   37     8   previousClassName  Ljava/lang/String;
           12   37     9  previousMethodName  Ljava/lang/String;
           15   32    10           className  Ljava/lang/String;
           26   31    11          methodName  Ljava/lang/String;
    Signature: (Ljava/util/Set<Lorg/testng/ITestResult;>;)Ljava/util/List<Lorg/testng/reporters/EmailableReporter2$ClassResult;>;
    MethodParameters:
         Name  Flags
      results  

  public java.lang.String getTestName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.reporters.EmailableReporter2$TestResult this
         0: .line 753
            aload 0 /* this */
            getfield org.testng.reporters.EmailableReporter2$TestResult.testName:Ljava/lang/String;
            areturn
        end local 0 // org.testng.reporters.EmailableReporter2$TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/reporters/EmailableReporter2$TestResult;

  public java.util.List<org.testng.reporters.EmailableReporter2$ClassResult> getFailedConfigurationResults();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.reporters.EmailableReporter2$TestResult this
         0: .line 758
            aload 0 /* this */
            getfield org.testng.reporters.EmailableReporter2$TestResult.failedConfigurationResults:Ljava/util/List;
            areturn
        end local 0 // org.testng.reporters.EmailableReporter2$TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/reporters/EmailableReporter2$TestResult;
    Signature: ()Ljava/util/List<Lorg/testng/reporters/EmailableReporter2$ClassResult;>;

  public java.util.List<org.testng.reporters.EmailableReporter2$ClassResult> getFailedTestResults();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.reporters.EmailableReporter2$TestResult this
         0: .line 763
            aload 0 /* this */
            getfield org.testng.reporters.EmailableReporter2$TestResult.failedTestResults:Ljava/util/List;
            areturn
        end local 0 // org.testng.reporters.EmailableReporter2$TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/reporters/EmailableReporter2$TestResult;
    Signature: ()Ljava/util/List<Lorg/testng/reporters/EmailableReporter2$ClassResult;>;

  public java.util.List<org.testng.reporters.EmailableReporter2$ClassResult> getSkippedConfigurationResults();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.reporters.EmailableReporter2$TestResult this
         0: .line 768
            aload 0 /* this */
            getfield org.testng.reporters.EmailableReporter2$TestResult.skippedConfigurationResults:Ljava/util/List;
            areturn
        end local 0 // org.testng.reporters.EmailableReporter2$TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/reporters/EmailableReporter2$TestResult;
    Signature: ()Ljava/util/List<Lorg/testng/reporters/EmailableReporter2$ClassResult;>;

  public java.util.List<org.testng.reporters.EmailableReporter2$ClassResult> getSkippedTestResults();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.reporters.EmailableReporter2$TestResult this
         0: .line 773
            aload 0 /* this */
            getfield org.testng.reporters.EmailableReporter2$TestResult.skippedTestResults:Ljava/util/List;
            areturn
        end local 0 // org.testng.reporters.EmailableReporter2$TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/reporters/EmailableReporter2$TestResult;
    Signature: ()Ljava/util/List<Lorg/testng/reporters/EmailableReporter2$ClassResult;>;

  public java.util.List<org.testng.reporters.EmailableReporter2$ClassResult> getRetriedTestResults();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.reporters.EmailableReporter2$TestResult this
         0: .line 777
            aload 0 /* this */
            getfield org.testng.reporters.EmailableReporter2$TestResult.retriedTestResults:Ljava/util/List;
            areturn
        end local 0 // org.testng.reporters.EmailableReporter2$TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/reporters/EmailableReporter2$TestResult;
    Signature: ()Ljava/util/List<Lorg/testng/reporters/EmailableReporter2$ClassResult;>;

  public java.util.List<org.testng.reporters.EmailableReporter2$ClassResult> getPassedTestResults();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.reporters.EmailableReporter2$TestResult this
         0: .line 782
            aload 0 /* this */
            getfield org.testng.reporters.EmailableReporter2$TestResult.passedTestResults:Ljava/util/List;
            areturn
        end local 0 // org.testng.reporters.EmailableReporter2$TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/reporters/EmailableReporter2$TestResult;
    Signature: ()Ljava/util/List<Lorg/testng/reporters/EmailableReporter2$ClassResult;>;

  public int getFailedTestCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.reporters.EmailableReporter2$TestResult this
         0: .line 786
            aload 0 /* this */
            getfield org.testng.reporters.EmailableReporter2$TestResult.failedTestCount:I
            ireturn
        end local 0 // org.testng.reporters.EmailableReporter2$TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/reporters/EmailableReporter2$TestResult;

  public int getSkippedTestCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.reporters.EmailableReporter2$TestResult this
         0: .line 790
            aload 0 /* this */
            getfield org.testng.reporters.EmailableReporter2$TestResult.skippedTestCount:I
            ireturn
        end local 0 // org.testng.reporters.EmailableReporter2$TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/reporters/EmailableReporter2$TestResult;

  public int getRetriedTestCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.reporters.EmailableReporter2$TestResult this
         0: .line 794
            aload 0 /* this */
            getfield org.testng.reporters.EmailableReporter2$TestResult.retriedTestCount:I
            ireturn
        end local 0 // org.testng.reporters.EmailableReporter2$TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/reporters/EmailableReporter2$TestResult;

  public int getPassedTestCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.reporters.EmailableReporter2$TestResult this
         0: .line 798
            aload 0 /* this */
            getfield org.testng.reporters.EmailableReporter2$TestResult.passedTestCount:I
            ireturn
        end local 0 // org.testng.reporters.EmailableReporter2$TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/reporters/EmailableReporter2$TestResult;

  public long getDuration();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.testng.reporters.EmailableReporter2$TestResult this
         0: .line 802
            aload 0 /* this */
            getfield org.testng.reporters.EmailableReporter2$TestResult.duration:J
            lreturn
        end local 0 // org.testng.reporters.EmailableReporter2$TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/reporters/EmailableReporter2$TestResult;

  public java.lang.String getIncludedGroups();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.reporters.EmailableReporter2$TestResult this
         0: .line 806
            aload 0 /* this */
            getfield org.testng.reporters.EmailableReporter2$TestResult.includedGroups:Ljava/lang/String;
            areturn
        end local 0 // org.testng.reporters.EmailableReporter2$TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/reporters/EmailableReporter2$TestResult;

  public java.lang.String getExcludedGroups();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.reporters.EmailableReporter2$TestResult this
         0: .line 810
            aload 0 /* this */
            getfield org.testng.reporters.EmailableReporter2$TestResult.excludedGroups:Ljava/lang/String;
            areturn
        end local 0 // org.testng.reporters.EmailableReporter2$TestResult this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/testng/reporters/EmailableReporter2$TestResult;

  protected java.lang.String formatGroups(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.testng.reporters.EmailableReporter2$TestResult this
        start local 1 // java.lang.String[] groups
         0: .line 820
            aload 1 /* groups */
            arraylength
            ifne 2
         1: .line 821
            ldc ""
            areturn
         2: .line 824
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* builder */
        start local 2 // java.lang.StringBuilder builder
         3: .line 825
            aload 2 /* builder */
            aload 1 /* groups */
            iconst_0
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 826
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         5: goto 8
         6: .line 827
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* builder */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* groups */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 826
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 1 /* groups */
            arraylength
            if_icmplt 6
        end local 3 // int i
         9: .line 829
            aload 2 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder builder
        end local 1 // java.lang.String[] groups
        end local 0 // org.testng.reporters.EmailableReporter2$TestResult this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/testng/reporters/EmailableReporter2$TestResult;
            0   10     1   groups  [Ljava/lang/String;
            3   10     2  builder  Ljava/lang/StringBuilder;
            5    9     3        i  I
    MethodParameters:
        Name  Flags
      groups  

  private static java.lang.String lambda$0(org.testng.ITestResult);
    descriptor: (Lorg/testng/ITestResult;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.ITestResult o
         0: .line 638
            aload 0 /* o */
            invokeinterface org.testng.ITestResult.getTestClass:()Lorg/testng/IClass;
            invokeinterface org.testng.IClass.getName:()Ljava/lang/String;
            areturn
        end local 0 // org.testng.ITestResult o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     o  Lorg/testng/ITestResult;

  private static java.lang.String lambda$1(org.testng.ITestResult);
    descriptor: (Lorg/testng/ITestResult;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.ITestResult o
         0: .line 639
            aload 0 /* o */
            invokeinterface org.testng.ITestResult.getMethod:()Lorg/testng/ITestNGMethod;
            invokeinterface org.testng.ITestNGMethod.getMethodName:()Ljava/lang/String;
            areturn
        end local 0 // org.testng.ITestResult o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     o  Lorg/testng/ITestResult;

  private static boolean lambda$2(org.testng.ITestResult);
    descriptor: (Lorg/testng/ITestResult;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.testng.ITestResult result
         0: .line 687
            aload 0 /* result */
            invokeinterface org.testng.ITestResult.wasRetried:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.testng.ITestResult result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  result  Lorg/testng/ITestResult;
}
SourceFile: "EmailableReporter2.java"
NestHost: org.testng.reporters.EmailableReporter2
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  protected ClassResult = org.testng.reporters.EmailableReporter2$ClassResult of org.testng.reporters.EmailableReporter2
  protected MethodResult = org.testng.reporters.EmailableReporter2$MethodResult of org.testng.reporters.EmailableReporter2
  protected TestResult = org.testng.reporters.EmailableReporter2$TestResult of org.testng.reporters.EmailableReporter2