public abstract class org.junit.rules.TestWatcher implements org.junit.rules.TestRule
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.junit.rules.TestWatcher
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.junit.rules.TestWatcher this
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.junit.rules.TestWatcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/junit/rules/TestWatcher;

  public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement, org.junit.runner.Description);
    descriptor: (Lorg/junit/runners/model/Statement;Lorg/junit/runner/Description;)Lorg/junit/runners/model/Statement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.junit.rules.TestWatcher this
        start local 1 // org.junit.runners.model.Statement base
        start local 2 // org.junit.runner.Description description
         0: .line 48
            new org.junit.rules.TestWatcher$1
            dup
            aload 0 /* this */
            aload 2 /* description */
            aload 1 /* base */
            invokespecial org.junit.rules.TestWatcher$1.<init>:(Lorg/junit/rules/TestWatcher;Lorg/junit/runner/Description;Lorg/junit/runners/model/Statement;)V
            areturn
        end local 2 // org.junit.runner.Description description
        end local 1 // org.junit.runners.model.Statement base
        end local 0 // org.junit.rules.TestWatcher this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/junit/rules/TestWatcher;
            0    1     1         base  Lorg/junit/runners/model/Statement;
            0    1     2  description  Lorg/junit/runner/Description;
    MethodParameters:
             Name  Flags
      base         final
      description  final

  private void succeededQuietly(org.junit.runner.Description, java.util.List<java.lang.Throwable>);
    descriptor: (Lorg/junit/runner/Description;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.junit.rules.TestWatcher this
        start local 1 // org.junit.runner.Description description
        start local 2 // java.util.List errors
         0: .line 75
            aload 0 /* this */
            aload 1 /* description */
            invokevirtual org.junit.rules.TestWatcher.succeeded:(Lorg/junit/runner/Description;)V
         1: .line 76
            goto 4
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 3 /* e */
        start local 3 // java.lang.Throwable e
         3: .line 77
            aload 2 /* errors */
            aload 3 /* e */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Throwable e
         4: .line 79
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.List errors
        end local 1 // org.junit.runner.Description description
        end local 0 // org.junit.rules.TestWatcher this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/junit/rules/TestWatcher;
            0    5     1  description  Lorg/junit/runner/Description;
            0    5     2       errors  Ljava/util/List<Ljava/lang/Throwable;>;
            3    4     3            e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    Signature: (Lorg/junit/runner/Description;Ljava/util/List<Ljava/lang/Throwable;>;)V
    MethodParameters:
             Name  Flags
      description  
      errors       

  private void failedQuietly(java.lang.Throwable, org.junit.runner.Description, java.util.List<java.lang.Throwable>);
    descriptor: (Ljava/lang/Throwable;Lorg/junit/runner/Description;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.junit.rules.TestWatcher this
        start local 1 // java.lang.Throwable e
        start local 2 // org.junit.runner.Description description
        start local 3 // java.util.List errors
         0: .line 84
            aload 0 /* this */
            aload 1 /* e */
            aload 2 /* description */
            invokevirtual org.junit.rules.TestWatcher.failed:(Ljava/lang/Throwable;Lorg/junit/runner/Description;)V
         1: .line 85
            goto 4
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 4 /* e1 */
        start local 4 // java.lang.Throwable e1
         3: .line 86
            aload 3 /* errors */
            aload 4 /* e1 */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Throwable e1
         4: .line 88
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.List errors
        end local 2 // org.junit.runner.Description description
        end local 1 // java.lang.Throwable e
        end local 0 // org.junit.rules.TestWatcher this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/junit/rules/TestWatcher;
            0    5     1            e  Ljava/lang/Throwable;
            0    5     2  description  Lorg/junit/runner/Description;
            0    5     3       errors  Ljava/util/List<Ljava/lang/Throwable;>;
            3    4     4           e1  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    Signature: (Ljava/lang/Throwable;Lorg/junit/runner/Description;Ljava/util/List<Ljava/lang/Throwable;>;)V
    MethodParameters:
             Name  Flags
      e            
      description  
      errors       

  private void skippedQuietly(org.junit.internal.AssumptionViolatedException, org.junit.runner.Description, java.util.List<java.lang.Throwable>);
    descriptor: (Lorg/junit/internal/AssumptionViolatedException;Lorg/junit/runner/Description;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.junit.rules.TestWatcher this
        start local 1 // org.junit.internal.AssumptionViolatedException e
        start local 2 // org.junit.runner.Description description
        start local 3 // java.util.List errors
         0: .line 95
            aload 1 /* e */
            instanceof org.junit.AssumptionViolatedException
            ifeq 3
         1: .line 96
            aload 0 /* this */
            aload 1 /* e */
            checkcast org.junit.AssumptionViolatedException
            aload 2 /* description */
            invokevirtual org.junit.rules.TestWatcher.skipped:(Lorg/junit/AssumptionViolatedException;Lorg/junit/runner/Description;)V
         2: .line 97
            goto 7
         3: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* e */
            aload 2 /* description */
            invokevirtual org.junit.rules.TestWatcher.skipped:(Lorg/junit/internal/AssumptionViolatedException;Lorg/junit/runner/Description;)V
         4: .line 100
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 4 /* e1 */
        start local 4 // java.lang.Throwable e1
         6: .line 101
            aload 3 /* errors */
            aload 4 /* e1 */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Throwable e1
         7: .line 103
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.List errors
        end local 2 // org.junit.runner.Description description
        end local 1 // org.junit.internal.AssumptionViolatedException e
        end local 0 // org.junit.rules.TestWatcher this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/junit/rules/TestWatcher;
            0    8     1            e  Lorg/junit/internal/AssumptionViolatedException;
            0    8     2  description  Lorg/junit/runner/Description;
            0    8     3       errors  Ljava/util/List<Ljava/lang/Throwable;>;
            6    7     4           e1  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.Throwable
    Signature: (Lorg/junit/internal/AssumptionViolatedException;Lorg/junit/runner/Description;Ljava/util/List<Ljava/lang/Throwable;>;)V
    MethodParameters:
             Name  Flags
      e            
      description  
      errors       

  private void startingQuietly(org.junit.runner.Description, java.util.List<java.lang.Throwable>);
    descriptor: (Lorg/junit/runner/Description;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.junit.rules.TestWatcher this
        start local 1 // org.junit.runner.Description description
        start local 2 // java.util.List errors
         0: .line 108
            aload 0 /* this */
            aload 1 /* description */
            invokevirtual org.junit.rules.TestWatcher.starting:(Lorg/junit/runner/Description;)V
         1: .line 109
            goto 4
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 3 /* e */
        start local 3 // java.lang.Throwable e
         3: .line 110
            aload 2 /* errors */
            aload 3 /* e */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Throwable e
         4: .line 112
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.List errors
        end local 1 // org.junit.runner.Description description
        end local 0 // org.junit.rules.TestWatcher this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/junit/rules/TestWatcher;
            0    5     1  description  Lorg/junit/runner/Description;
            0    5     2       errors  Ljava/util/List<Ljava/lang/Throwable;>;
            3    4     3            e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    Signature: (Lorg/junit/runner/Description;Ljava/util/List<Ljava/lang/Throwable;>;)V
    MethodParameters:
             Name  Flags
      description  
      errors       

  private void finishedQuietly(org.junit.runner.Description, java.util.List<java.lang.Throwable>);
    descriptor: (Lorg/junit/runner/Description;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.junit.rules.TestWatcher this
        start local 1 // org.junit.runner.Description description
        start local 2 // java.util.List errors
         0: .line 117
            aload 0 /* this */
            aload 1 /* description */
            invokevirtual org.junit.rules.TestWatcher.finished:(Lorg/junit/runner/Description;)V
         1: .line 118
            goto 4
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 3 /* e */
        start local 3 // java.lang.Throwable e
         3: .line 119
            aload 2 /* errors */
            aload 3 /* e */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Throwable e
         4: .line 121
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.List errors
        end local 1 // org.junit.runner.Description description
        end local 0 // org.junit.rules.TestWatcher this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/junit/rules/TestWatcher;
            0    5     1  description  Lorg/junit/runner/Description;
            0    5     2       errors  Ljava/util/List<Ljava/lang/Throwable;>;
            3    4     3            e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    Signature: (Lorg/junit/runner/Description;Ljava/util/List<Ljava/lang/Throwable;>;)V
    MethodParameters:
             Name  Flags
      description  
      errors       

  protected void succeeded(org.junit.runner.Description);
    descriptor: (Lorg/junit/runner/Description;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.junit.rules.TestWatcher this
        start local 1 // org.junit.runner.Description description
         0: .line 127
            return
        end local 1 // org.junit.runner.Description description
        end local 0 // org.junit.rules.TestWatcher this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/junit/rules/TestWatcher;
            0    1     1  description  Lorg/junit/runner/Description;
    MethodParameters:
             Name  Flags
      description  

  protected void failed(java.lang.Throwable, org.junit.runner.Description);
    descriptor: (Ljava/lang/Throwable;Lorg/junit/runner/Description;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.junit.rules.TestWatcher this
        start local 1 // java.lang.Throwable e
        start local 2 // org.junit.runner.Description description
         0: .line 133
            return
        end local 2 // org.junit.runner.Description description
        end local 1 // java.lang.Throwable e
        end local 0 // org.junit.rules.TestWatcher this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/junit/rules/TestWatcher;
            0    1     1            e  Ljava/lang/Throwable;
            0    1     2  description  Lorg/junit/runner/Description;
    MethodParameters:
             Name  Flags
      e            
      description  

  protected void skipped(org.junit.AssumptionViolatedException, org.junit.runner.Description);
    descriptor: (Lorg/junit/AssumptionViolatedException;Lorg/junit/runner/Description;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.junit.rules.TestWatcher this
        start local 1 // org.junit.AssumptionViolatedException e
        start local 2 // org.junit.runner.Description description
         0: .line 141
            aload 1 /* e */
            astore 3 /* asInternalException */
        start local 3 // org.junit.internal.AssumptionViolatedException asInternalException
         1: .line 142
            aload 0 /* this */
            aload 3 /* asInternalException */
            aload 2 /* description */
            invokevirtual org.junit.rules.TestWatcher.skipped:(Lorg/junit/internal/AssumptionViolatedException;Lorg/junit/runner/Description;)V
         2: .line 143
            return
        end local 3 // org.junit.internal.AssumptionViolatedException asInternalException
        end local 2 // org.junit.runner.Description description
        end local 1 // org.junit.AssumptionViolatedException e
        end local 0 // org.junit.rules.TestWatcher this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lorg/junit/rules/TestWatcher;
            0    3     1                    e  Lorg/junit/AssumptionViolatedException;
            0    3     2          description  Lorg/junit/runner/Description;
            1    3     3  asInternalException  Lorg/junit/internal/AssumptionViolatedException;
    MethodParameters:
             Name  Flags
      e            
      description  

  protected void skipped(org.junit.internal.AssumptionViolatedException, org.junit.runner.Description);
    descriptor: (Lorg/junit/internal/AssumptionViolatedException;Lorg/junit/runner/Description;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.junit.rules.TestWatcher this
        start local 1 // org.junit.internal.AssumptionViolatedException e
        start local 2 // org.junit.runner.Description description
         0: .line 153
            return
        end local 2 // org.junit.runner.Description description
        end local 1 // org.junit.internal.AssumptionViolatedException e
        end local 0 // org.junit.rules.TestWatcher this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/junit/rules/TestWatcher;
            0    1     1            e  Lorg/junit/internal/AssumptionViolatedException;
            0    1     2  description  Lorg/junit/runner/Description;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
             Name  Flags
      e            
      description  

  protected void starting(org.junit.runner.Description);
    descriptor: (Lorg/junit/runner/Description;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.junit.rules.TestWatcher this
        start local 1 // org.junit.runner.Description description
         0: .line 159
            return
        end local 1 // org.junit.runner.Description description
        end local 0 // org.junit.rules.TestWatcher this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/junit/rules/TestWatcher;
            0    1     1  description  Lorg/junit/runner/Description;
    MethodParameters:
             Name  Flags
      description  

  protected void finished(org.junit.runner.Description);
    descriptor: (Lorg/junit/runner/Description;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.junit.rules.TestWatcher this
        start local 1 // org.junit.runner.Description description
         0: .line 165
            return
        end local 1 // org.junit.runner.Description description
        end local 0 // org.junit.rules.TestWatcher this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/junit/rules/TestWatcher;
            0    1     1  description  Lorg/junit/runner/Description;
    MethodParameters:
             Name  Flags
      description  
}
SourceFile: "TestWatcher.java"
NestMembers:
  org.junit.rules.TestWatcher$1
InnerClasses:
  org.junit.rules.TestWatcher$1