public class com.sun.source.util.TreeScanner<R, P> implements com.sun.source.tree.TreeVisitor<R, P>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.source.util.TreeScanner
  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 // com.sun.source.util.TreeScanner this
         0: .line 77
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;

  public R scan(com.sun.source.tree.Tree, );
    descriptor: (Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.Tree tree
        start local 2 // java.lang.Object p
         0: .line 86
            aload 1 /* tree */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* tree */
            aload 0 /* this */
            aload 2 /* p */
            invokeinterface com.sun.source.tree.Tree.accept:(Lcom/sun/source/tree/TreeVisitor;Ljava/lang/Object;)Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.Tree tree
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  tree  Lcom/sun/source/tree/Tree;
            0    3     2     p  TP;
    Signature: (Lcom/sun/source/tree/Tree;TP;)TR;
    MethodParameters:
      Name  Flags
      tree  
      p     

  private R scanAndReduce(com.sun.source.tree.Tree, P, );
    descriptor: (Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.Tree node
        start local 2 // java.lang.Object p
        start local 3 // java.lang.Object r
         0: .line 90
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.reduce:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.Tree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/Tree;
            0    1     2     p  TP;
            0    1     3     r  TR;
    Signature: (Lcom/sun/source/tree/Tree;TP;TR;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     
      r     

  public R scan(java.lang.Iterable<? extends com.sun.source.tree.Tree>, );
    descriptor: (Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // java.lang.Iterable nodes
        start local 2 // java.lang.Object p
         0: .line 101
            aconst_null
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 102
            aload 1 /* nodes */
            ifnull 10
         2: .line 103
            iconst_1
            istore 4 /* first */
        start local 4 // boolean first
         3: .line 104
            aload 1 /* nodes */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 9
      StackMap locals: com.sun.source.util.TreeScanner java.lang.Iterable java.lang.Object java.lang.Object int top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.source.tree.Tree
            astore 5 /* node */
        start local 5 // com.sun.source.tree.Tree node
         5: .line 105
            iload 4 /* first */
            ifeq 6
            aload 0 /* this */
            aload 5 /* node */
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            goto 7
      StackMap locals: com.sun.source.util.TreeScanner java.lang.Iterable java.lang.Object java.lang.Object int com.sun.source.tree.Tree java.util.Iterator
      StackMap stack:
         6: aload 0 /* this */
            aload 5 /* node */
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
         7: astore 3 /* r */
         8: .line 106
            iconst_0
            istore 4 /* first */
        end local 5 // com.sun.source.tree.Tree node
         9: .line 104
      StackMap locals: com.sun.source.util.TreeScanner java.lang.Iterable java.lang.Object java.lang.Object int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 4 // boolean first
        10: .line 109
      StackMap locals: com.sun.source.util.TreeScanner java.lang.Iterable java.lang.Object java.lang.Object
      StackMap stack:
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // java.lang.Iterable nodes
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0   11     1  nodes  Ljava/lang/Iterable<+Lcom/sun/source/tree/Tree;>;
            0   11     2      p  TP;
            1   11     3      r  TR;
            3   10     4  first  Z
            5    9     5   node  Lcom/sun/source/tree/Tree;
    Signature: (Ljava/lang/Iterable<+Lcom/sun/source/tree/Tree;>;TP;)TR;
    MethodParameters:
       Name  Flags
      nodes  
      p      

  private R scanAndReduce(java.lang.Iterable<? extends com.sun.source.tree.Tree>, P, );
    descriptor: (Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // java.lang.Iterable nodes
        start local 2 // java.lang.Object p
        start local 3 // java.lang.Object r
         0: .line 113
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* nodes */
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.reduce:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // java.lang.Iterable nodes
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  nodes  Ljava/lang/Iterable<+Lcom/sun/source/tree/Tree;>;
            0    1     2      p  TP;
            0    1     3      r  TR;
    Signature: (Ljava/lang/Iterable<+Lcom/sun/source/tree/Tree;>;TP;TR;)TR;
    MethodParameters:
       Name  Flags
      nodes  
      p      
      r      

  public R reduce(R, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // java.lang.Object r1
        start local 2 // java.lang.Object r2
         0: .line 125
            aload 1 /* r1 */
            areturn
        end local 2 // java.lang.Object r2
        end local 1 // java.lang.Object r1
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1    r1  TR;
            0    1     2    r2  TR;
    Signature: (TR;TR;)TR;
    MethodParameters:
      Name  Flags
      r1    
      r2    

  public R visitCompilationUnit(com.sun.source.tree.CompilationUnitTree, );
    descriptor: (Lcom/sun/source/tree/CompilationUnitTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.CompilationUnitTree node
        start local 2 // java.lang.Object p
         0: .line 142
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.CompilationUnitTree.getPackage:()Lcom/sun/source/tree/PackageTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 143
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.CompilationUnitTree.getImports:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 144
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.CompilationUnitTree.getTypeDecls:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         3: .line 145
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.CompilationUnitTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    4     1  node  Lcom/sun/source/tree/CompilationUnitTree;
            0    4     2     p  TP;
            1    4     3     r  TR;
    Signature: (Lcom/sun/source/tree/CompilationUnitTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitPackage(com.sun.source.tree.PackageTree, );
    descriptor: (Lcom/sun/source/tree/PackageTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.PackageTree node
        start local 2 // java.lang.Object p
         0: .line 157
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.PackageTree.getAnnotations:()Ljava/util/List;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 158
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.PackageTree.getPackageName:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 159
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.PackageTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/PackageTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/PackageTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitImport(com.sun.source.tree.ImportTree, );
    descriptor: (Lcom/sun/source/tree/ImportTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.ImportTree node
        start local 2 // java.lang.Object p
         0: .line 171
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ImportTree.getQualifiedIdentifier:()Lcom/sun/source/tree/Tree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.ImportTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/ImportTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/ImportTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitClass(com.sun.source.tree.ClassTree, );
    descriptor: (Lcom/sun/source/tree/ClassTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.ClassTree node
        start local 2 // java.lang.Object p
         0: .line 184
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ClassTree.getModifiers:()Lcom/sun/source/tree/ModifiersTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 185
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ClassTree.getTypeParameters:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 186
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ClassTree.getExtendsClause:()Lcom/sun/source/tree/Tree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         3: .line 187
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ClassTree.getImplementsClause:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         4: .line 188
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ClassTree.getPermitsClause:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         5: .line 189
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ClassTree.getMembers:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         6: .line 190
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.ClassTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    7     1  node  Lcom/sun/source/tree/ClassTree;
            0    7     2     p  TP;
            1    7     3     r  TR;
    Signature: (Lcom/sun/source/tree/ClassTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitMethod(com.sun.source.tree.MethodTree, );
    descriptor: (Lcom/sun/source/tree/MethodTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.MethodTree node
        start local 2 // java.lang.Object p
         0: .line 202
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.MethodTree.getModifiers:()Lcom/sun/source/tree/ModifiersTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 203
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.MethodTree.getReturnType:()Lcom/sun/source/tree/Tree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 204
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.MethodTree.getTypeParameters:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         3: .line 205
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.MethodTree.getParameters:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         4: .line 206
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.MethodTree.getReceiverParameter:()Lcom/sun/source/tree/VariableTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         5: .line 207
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.MethodTree.getThrows:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         6: .line 208
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.MethodTree.getBody:()Lcom/sun/source/tree/BlockTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         7: .line 209
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.MethodTree.getDefaultValue:()Lcom/sun/source/tree/Tree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         8: .line 210
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.MethodTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    9     1  node  Lcom/sun/source/tree/MethodTree;
            0    9     2     p  TP;
            1    9     3     r  TR;
    Signature: (Lcom/sun/source/tree/MethodTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitVariable(com.sun.source.tree.VariableTree, );
    descriptor: (Lcom/sun/source/tree/VariableTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.VariableTree node
        start local 2 // java.lang.Object p
         0: .line 222
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.VariableTree.getModifiers:()Lcom/sun/source/tree/ModifiersTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 223
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.VariableTree.getType:()Lcom/sun/source/tree/Tree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 224
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.VariableTree.getNameExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         3: .line 225
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.VariableTree.getInitializer:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         4: .line 226
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.VariableTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    5     1  node  Lcom/sun/source/tree/VariableTree;
            0    5     2     p  TP;
            1    5     3     r  TR;
    Signature: (Lcom/sun/source/tree/VariableTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitEmptyStatement(com.sun.source.tree.EmptyStatementTree, );
    descriptor: (Lcom/sun/source/tree/EmptyStatementTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.EmptyStatementTree node
        start local 2 // java.lang.Object p
         0: .line 238
            aconst_null
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.EmptyStatementTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/EmptyStatementTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/EmptyStatementTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitBlock(com.sun.source.tree.BlockTree, );
    descriptor: (Lcom/sun/source/tree/BlockTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.BlockTree node
        start local 2 // java.lang.Object p
         0: .line 250
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.BlockTree.getStatements:()Ljava/util/List;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.BlockTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/BlockTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/BlockTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitDoWhileLoop(com.sun.source.tree.DoWhileLoopTree, );
    descriptor: (Lcom/sun/source/tree/DoWhileLoopTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.DoWhileLoopTree node
        start local 2 // java.lang.Object p
         0: .line 262
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.DoWhileLoopTree.getStatement:()Lcom/sun/source/tree/StatementTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 263
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.DoWhileLoopTree.getCondition:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 264
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.DoWhileLoopTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/DoWhileLoopTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/DoWhileLoopTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitWhileLoop(com.sun.source.tree.WhileLoopTree, );
    descriptor: (Lcom/sun/source/tree/WhileLoopTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.WhileLoopTree node
        start local 2 // java.lang.Object p
         0: .line 276
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.WhileLoopTree.getCondition:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 277
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.WhileLoopTree.getStatement:()Lcom/sun/source/tree/StatementTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 278
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.WhileLoopTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/WhileLoopTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/WhileLoopTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitForLoop(com.sun.source.tree.ForLoopTree, );
    descriptor: (Lcom/sun/source/tree/ForLoopTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.ForLoopTree node
        start local 2 // java.lang.Object p
         0: .line 290
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ForLoopTree.getInitializer:()Ljava/util/List;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 291
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ForLoopTree.getCondition:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 292
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ForLoopTree.getUpdate:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         3: .line 293
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ForLoopTree.getStatement:()Lcom/sun/source/tree/StatementTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         4: .line 294
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.ForLoopTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    5     1  node  Lcom/sun/source/tree/ForLoopTree;
            0    5     2     p  TP;
            1    5     3     r  TR;
    Signature: (Lcom/sun/source/tree/ForLoopTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitEnhancedForLoop(com.sun.source.tree.EnhancedForLoopTree, );
    descriptor: (Lcom/sun/source/tree/EnhancedForLoopTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.EnhancedForLoopTree node
        start local 2 // java.lang.Object p
         0: .line 306
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.EnhancedForLoopTree.getVariable:()Lcom/sun/source/tree/VariableTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 307
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.EnhancedForLoopTree.getExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 308
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.EnhancedForLoopTree.getStatement:()Lcom/sun/source/tree/StatementTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         3: .line 309
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.EnhancedForLoopTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    4     1  node  Lcom/sun/source/tree/EnhancedForLoopTree;
            0    4     2     p  TP;
            1    4     3     r  TR;
    Signature: (Lcom/sun/source/tree/EnhancedForLoopTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitLabeledStatement(com.sun.source.tree.LabeledStatementTree, );
    descriptor: (Lcom/sun/source/tree/LabeledStatementTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.LabeledStatementTree node
        start local 2 // java.lang.Object p
         0: .line 321
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.LabeledStatementTree.getStatement:()Lcom/sun/source/tree/StatementTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.LabeledStatementTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/LabeledStatementTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/LabeledStatementTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitSwitch(com.sun.source.tree.SwitchTree, );
    descriptor: (Lcom/sun/source/tree/SwitchTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.SwitchTree node
        start local 2 // java.lang.Object p
         0: .line 333
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.SwitchTree.getExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 334
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.SwitchTree.getCases:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 335
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.SwitchTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/SwitchTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/SwitchTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitSwitchExpression(com.sun.source.tree.SwitchExpressionTree, );
    descriptor: (Lcom/sun/source/tree/SwitchExpressionTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.SwitchExpressionTree node
        start local 2 // java.lang.Object p
         0: .line 347
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.SwitchExpressionTree.getExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 348
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.SwitchExpressionTree.getCases:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 349
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.SwitchExpressionTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/SwitchExpressionTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/SwitchExpressionTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitCase(com.sun.source.tree.CaseTree, );
    descriptor: (Lcom/sun/source/tree/CaseTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.CaseTree node
        start local 2 // java.lang.Object p
         0: .line 361
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.CaseTree.getExpressions:()Ljava/util/List;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 362
            aload 1 /* node */
            invokeinterface com.sun.source.tree.CaseTree.getCaseKind:()Lcom/sun/source/tree/CaseTree$CaseKind;
            getstatic com.sun.source.tree.CaseTree$CaseKind.RULE:Lcom/sun/source/tree/CaseTree$CaseKind;
            if_acmpne 3
         2: .line 363
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.CaseTree.getBody:()Lcom/sun/source/tree/Tree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
            goto 4
         3: .line 365
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.CaseTree.getStatements:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         4: .line 366
      StackMap locals:
      StackMap stack:
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.CaseTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    5     1  node  Lcom/sun/source/tree/CaseTree;
            0    5     2     p  TP;
            1    5     3     r  TR;
    Signature: (Lcom/sun/source/tree/CaseTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitSynchronized(com.sun.source.tree.SynchronizedTree, );
    descriptor: (Lcom/sun/source/tree/SynchronizedTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.SynchronizedTree node
        start local 2 // java.lang.Object p
         0: .line 378
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.SynchronizedTree.getExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 379
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.SynchronizedTree.getBlock:()Lcom/sun/source/tree/BlockTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 380
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.SynchronizedTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/SynchronizedTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/SynchronizedTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitTry(com.sun.source.tree.TryTree, );
    descriptor: (Lcom/sun/source/tree/TryTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.TryTree node
        start local 2 // java.lang.Object p
         0: .line 392
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.TryTree.getResources:()Ljava/util/List;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 393
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.TryTree.getBlock:()Lcom/sun/source/tree/BlockTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 394
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.TryTree.getCatches:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         3: .line 395
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.TryTree.getFinallyBlock:()Lcom/sun/source/tree/BlockTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         4: .line 396
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.TryTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    5     1  node  Lcom/sun/source/tree/TryTree;
            0    5     2     p  TP;
            1    5     3     r  TR;
    Signature: (Lcom/sun/source/tree/TryTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitCatch(com.sun.source.tree.CatchTree, );
    descriptor: (Lcom/sun/source/tree/CatchTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.CatchTree node
        start local 2 // java.lang.Object p
         0: .line 408
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.CatchTree.getParameter:()Lcom/sun/source/tree/VariableTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 409
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.CatchTree.getBlock:()Lcom/sun/source/tree/BlockTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 410
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.CatchTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/CatchTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/CatchTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitConditionalExpression(com.sun.source.tree.ConditionalExpressionTree, );
    descriptor: (Lcom/sun/source/tree/ConditionalExpressionTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.ConditionalExpressionTree node
        start local 2 // java.lang.Object p
         0: .line 422
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ConditionalExpressionTree.getCondition:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 423
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ConditionalExpressionTree.getTrueExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 424
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ConditionalExpressionTree.getFalseExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         3: .line 425
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.ConditionalExpressionTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    4     1  node  Lcom/sun/source/tree/ConditionalExpressionTree;
            0    4     2     p  TP;
            1    4     3     r  TR;
    Signature: (Lcom/sun/source/tree/ConditionalExpressionTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitIf(com.sun.source.tree.IfTree, );
    descriptor: (Lcom/sun/source/tree/IfTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.IfTree node
        start local 2 // java.lang.Object p
         0: .line 437
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.IfTree.getCondition:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 438
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.IfTree.getThenStatement:()Lcom/sun/source/tree/StatementTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 439
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.IfTree.getElseStatement:()Lcom/sun/source/tree/StatementTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         3: .line 440
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.IfTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    4     1  node  Lcom/sun/source/tree/IfTree;
            0    4     2     p  TP;
            1    4     3     r  TR;
    Signature: (Lcom/sun/source/tree/IfTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitExpressionStatement(com.sun.source.tree.ExpressionStatementTree, );
    descriptor: (Lcom/sun/source/tree/ExpressionStatementTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.ExpressionStatementTree node
        start local 2 // java.lang.Object p
         0: .line 452
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ExpressionStatementTree.getExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.ExpressionStatementTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/ExpressionStatementTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/ExpressionStatementTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitBreak(com.sun.source.tree.BreakTree, );
    descriptor: (Lcom/sun/source/tree/BreakTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.BreakTree node
        start local 2 // java.lang.Object p
         0: .line 464
            aconst_null
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.BreakTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/BreakTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/BreakTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitContinue(com.sun.source.tree.ContinueTree, );
    descriptor: (Lcom/sun/source/tree/ContinueTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.ContinueTree node
        start local 2 // java.lang.Object p
         0: .line 476
            aconst_null
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.ContinueTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/ContinueTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/ContinueTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitReturn(com.sun.source.tree.ReturnTree, );
    descriptor: (Lcom/sun/source/tree/ReturnTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.ReturnTree node
        start local 2 // java.lang.Object p
         0: .line 488
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ReturnTree.getExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.ReturnTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/ReturnTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/ReturnTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitThrow(com.sun.source.tree.ThrowTree, );
    descriptor: (Lcom/sun/source/tree/ThrowTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.ThrowTree node
        start local 2 // java.lang.Object p
         0: .line 500
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ThrowTree.getExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.ThrowTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/ThrowTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/ThrowTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitAssert(com.sun.source.tree.AssertTree, );
    descriptor: (Lcom/sun/source/tree/AssertTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.AssertTree node
        start local 2 // java.lang.Object p
         0: .line 512
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.AssertTree.getCondition:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 513
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.AssertTree.getDetail:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 514
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.AssertTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/AssertTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/AssertTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitMethodInvocation(com.sun.source.tree.MethodInvocationTree, );
    descriptor: (Lcom/sun/source/tree/MethodInvocationTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.MethodInvocationTree node
        start local 2 // java.lang.Object p
         0: .line 526
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.MethodInvocationTree.getTypeArguments:()Ljava/util/List;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 527
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.MethodInvocationTree.getMethodSelect:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 528
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.MethodInvocationTree.getArguments:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         3: .line 529
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.MethodInvocationTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    4     1  node  Lcom/sun/source/tree/MethodInvocationTree;
            0    4     2     p  TP;
            1    4     3     r  TR;
    Signature: (Lcom/sun/source/tree/MethodInvocationTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitNewClass(com.sun.source.tree.NewClassTree, );
    descriptor: (Lcom/sun/source/tree/NewClassTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.NewClassTree node
        start local 2 // java.lang.Object p
         0: .line 541
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.NewClassTree.getEnclosingExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 542
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.NewClassTree.getIdentifier:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 543
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.NewClassTree.getTypeArguments:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         3: .line 544
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.NewClassTree.getArguments:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         4: .line 545
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.NewClassTree.getClassBody:()Lcom/sun/source/tree/ClassTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         5: .line 546
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.NewClassTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    6     1  node  Lcom/sun/source/tree/NewClassTree;
            0    6     2     p  TP;
            1    6     3     r  TR;
    Signature: (Lcom/sun/source/tree/NewClassTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitNewArray(com.sun.source.tree.NewArrayTree, );
    descriptor: (Lcom/sun/source/tree/NewArrayTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.NewArrayTree node
        start local 2 // java.lang.Object p
         0: .line 558
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.NewArrayTree.getType:()Lcom/sun/source/tree/Tree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 559
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.NewArrayTree.getDimensions:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 560
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.NewArrayTree.getInitializers:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         3: .line 561
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.NewArrayTree.getAnnotations:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         4: .line 562
            aload 1 /* node */
            invokeinterface com.sun.source.tree.NewArrayTree.getDimAnnotations:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: com.sun.source.util.TreeScanner com.sun.source.tree.NewArrayTree java.lang.Object java.lang.Object top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Iterable
            astore 4 /* dimAnno */
        start local 4 // java.lang.Iterable dimAnno
         6: .line 563
            aload 0 /* this */
            aload 4 /* dimAnno */
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        end local 4 // java.lang.Iterable dimAnno
         7: .line 562
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 565
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.NewArrayTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    9     1     node  Lcom/sun/source/tree/NewArrayTree;
            0    9     2        p  TP;
            1    9     3        r  TR;
            6    7     4  dimAnno  Ljava/lang/Iterable<+Lcom/sun/source/tree/Tree;>;
    Signature: (Lcom/sun/source/tree/NewArrayTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitLambdaExpression(com.sun.source.tree.LambdaExpressionTree, );
    descriptor: (Lcom/sun/source/tree/LambdaExpressionTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.LambdaExpressionTree node
        start local 2 // java.lang.Object p
         0: .line 577
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.LambdaExpressionTree.getParameters:()Ljava/util/List;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 578
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.LambdaExpressionTree.getBody:()Lcom/sun/source/tree/Tree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 579
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.LambdaExpressionTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/LambdaExpressionTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/LambdaExpressionTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitParenthesized(com.sun.source.tree.ParenthesizedTree, );
    descriptor: (Lcom/sun/source/tree/ParenthesizedTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.ParenthesizedTree node
        start local 2 // java.lang.Object p
         0: .line 591
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ParenthesizedTree.getExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.ParenthesizedTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/ParenthesizedTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/ParenthesizedTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitAssignment(com.sun.source.tree.AssignmentTree, );
    descriptor: (Lcom/sun/source/tree/AssignmentTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.AssignmentTree node
        start local 2 // java.lang.Object p
         0: .line 603
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.AssignmentTree.getVariable:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 604
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.AssignmentTree.getExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 605
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.AssignmentTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/AssignmentTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/AssignmentTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitCompoundAssignment(com.sun.source.tree.CompoundAssignmentTree, );
    descriptor: (Lcom/sun/source/tree/CompoundAssignmentTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.CompoundAssignmentTree node
        start local 2 // java.lang.Object p
         0: .line 617
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.CompoundAssignmentTree.getVariable:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 618
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.CompoundAssignmentTree.getExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 619
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.CompoundAssignmentTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/CompoundAssignmentTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/CompoundAssignmentTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitUnary(com.sun.source.tree.UnaryTree, );
    descriptor: (Lcom/sun/source/tree/UnaryTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.UnaryTree node
        start local 2 // java.lang.Object p
         0: .line 631
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.UnaryTree.getExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.UnaryTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/UnaryTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/UnaryTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitBinary(com.sun.source.tree.BinaryTree, );
    descriptor: (Lcom/sun/source/tree/BinaryTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.BinaryTree node
        start local 2 // java.lang.Object p
         0: .line 643
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.BinaryTree.getLeftOperand:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 644
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.BinaryTree.getRightOperand:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 645
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.BinaryTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/BinaryTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/BinaryTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitTypeCast(com.sun.source.tree.TypeCastTree, );
    descriptor: (Lcom/sun/source/tree/TypeCastTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.TypeCastTree node
        start local 2 // java.lang.Object p
         0: .line 657
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.TypeCastTree.getType:()Lcom/sun/source/tree/Tree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 658
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.TypeCastTree.getExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 659
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.TypeCastTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/TypeCastTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/TypeCastTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitInstanceOf(com.sun.source.tree.InstanceOfTree, );
    descriptor: (Lcom/sun/source/tree/InstanceOfTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.InstanceOfTree node
        start local 2 // java.lang.Object p
         0: .line 671
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.InstanceOfTree.getExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 672
            aload 1 /* node */
            invokeinterface com.sun.source.tree.InstanceOfTree.getPattern:()Lcom/sun/source/tree/PatternTree;
            ifnull 4
         2: .line 673
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.InstanceOfTree.getPattern:()Lcom/sun/source/tree/PatternTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         3: .line 674
            goto 5
         4: .line 675
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.InstanceOfTree.getType:()Lcom/sun/source/tree/Tree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         5: .line 677
      StackMap locals:
      StackMap stack:
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.InstanceOfTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    6     1  node  Lcom/sun/source/tree/InstanceOfTree;
            0    6     2     p  TP;
            1    6     3     r  TR;
    Signature: (Lcom/sun/source/tree/InstanceOfTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitBindingPattern(com.sun.source.tree.BindingPatternTree, );
    descriptor: (Lcom/sun/source/tree/BindingPatternTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.BindingPatternTree node
        start local 2 // java.lang.Object p
         0: .line 690
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.BindingPatternTree.getType:()Lcom/sun/source/tree/Tree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.BindingPatternTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/BindingPatternTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/BindingPatternTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitArrayAccess(com.sun.source.tree.ArrayAccessTree, );
    descriptor: (Lcom/sun/source/tree/ArrayAccessTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.ArrayAccessTree node
        start local 2 // java.lang.Object p
         0: .line 702
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ArrayAccessTree.getExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 703
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ArrayAccessTree.getIndex:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 704
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.ArrayAccessTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/ArrayAccessTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/ArrayAccessTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitMemberSelect(com.sun.source.tree.MemberSelectTree, );
    descriptor: (Lcom/sun/source/tree/MemberSelectTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.MemberSelectTree node
        start local 2 // java.lang.Object p
         0: .line 716
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.MemberSelectTree.getExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.MemberSelectTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/MemberSelectTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/MemberSelectTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitMemberReference(com.sun.source.tree.MemberReferenceTree, );
    descriptor: (Lcom/sun/source/tree/MemberReferenceTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.MemberReferenceTree node
        start local 2 // java.lang.Object p
         0: .line 728
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.MemberReferenceTree.getQualifierExpression:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 729
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.MemberReferenceTree.getTypeArguments:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 730
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.MemberReferenceTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/MemberReferenceTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/MemberReferenceTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitIdentifier(com.sun.source.tree.IdentifierTree, );
    descriptor: (Lcom/sun/source/tree/IdentifierTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.IdentifierTree node
        start local 2 // java.lang.Object p
         0: .line 742
            aconst_null
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.IdentifierTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/IdentifierTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/IdentifierTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitLiteral(com.sun.source.tree.LiteralTree, );
    descriptor: (Lcom/sun/source/tree/LiteralTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.LiteralTree node
        start local 2 // java.lang.Object p
         0: .line 754
            aconst_null
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.LiteralTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/LiteralTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/LiteralTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitPrimitiveType(com.sun.source.tree.PrimitiveTypeTree, );
    descriptor: (Lcom/sun/source/tree/PrimitiveTypeTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.PrimitiveTypeTree node
        start local 2 // java.lang.Object p
         0: .line 766
            aconst_null
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.PrimitiveTypeTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/PrimitiveTypeTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/PrimitiveTypeTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitArrayType(com.sun.source.tree.ArrayTypeTree, );
    descriptor: (Lcom/sun/source/tree/ArrayTypeTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.ArrayTypeTree node
        start local 2 // java.lang.Object p
         0: .line 778
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ArrayTypeTree.getType:()Lcom/sun/source/tree/Tree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.ArrayTypeTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/ArrayTypeTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/ArrayTypeTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitParameterizedType(com.sun.source.tree.ParameterizedTypeTree, );
    descriptor: (Lcom/sun/source/tree/ParameterizedTypeTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.ParameterizedTypeTree node
        start local 2 // java.lang.Object p
         0: .line 790
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ParameterizedTypeTree.getType:()Lcom/sun/source/tree/Tree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 791
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ParameterizedTypeTree.getTypeArguments:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 792
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.ParameterizedTypeTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/ParameterizedTypeTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/ParameterizedTypeTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitUnionType(com.sun.source.tree.UnionTypeTree, );
    descriptor: (Lcom/sun/source/tree/UnionTypeTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.UnionTypeTree node
        start local 2 // java.lang.Object p
         0: .line 804
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.UnionTypeTree.getTypeAlternatives:()Ljava/util/List;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.UnionTypeTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/UnionTypeTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/UnionTypeTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitIntersectionType(com.sun.source.tree.IntersectionTypeTree, );
    descriptor: (Lcom/sun/source/tree/IntersectionTypeTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.IntersectionTypeTree node
        start local 2 // java.lang.Object p
         0: .line 816
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.IntersectionTypeTree.getBounds:()Ljava/util/List;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.IntersectionTypeTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/IntersectionTypeTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/IntersectionTypeTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitTypeParameter(com.sun.source.tree.TypeParameterTree, );
    descriptor: (Lcom/sun/source/tree/TypeParameterTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.TypeParameterTree node
        start local 2 // java.lang.Object p
         0: .line 828
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.TypeParameterTree.getAnnotations:()Ljava/util/List;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 829
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.TypeParameterTree.getBounds:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 830
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.TypeParameterTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/TypeParameterTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/TypeParameterTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitWildcard(com.sun.source.tree.WildcardTree, );
    descriptor: (Lcom/sun/source/tree/WildcardTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.WildcardTree node
        start local 2 // java.lang.Object p
         0: .line 842
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.WildcardTree.getBound:()Lcom/sun/source/tree/Tree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.WildcardTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/WildcardTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/WildcardTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitModifiers(com.sun.source.tree.ModifiersTree, );
    descriptor: (Lcom/sun/source/tree/ModifiersTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.ModifiersTree node
        start local 2 // java.lang.Object p
         0: .line 854
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ModifiersTree.getAnnotations:()Ljava/util/List;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.ModifiersTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/ModifiersTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/ModifiersTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitAnnotation(com.sun.source.tree.AnnotationTree, );
    descriptor: (Lcom/sun/source/tree/AnnotationTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.AnnotationTree node
        start local 2 // java.lang.Object p
         0: .line 866
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.AnnotationTree.getAnnotationType:()Lcom/sun/source/tree/Tree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 867
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.AnnotationTree.getArguments:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 868
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.AnnotationTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/AnnotationTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/AnnotationTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitAnnotatedType(com.sun.source.tree.AnnotatedTypeTree, );
    descriptor: (Lcom/sun/source/tree/AnnotatedTypeTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.AnnotatedTypeTree node
        start local 2 // java.lang.Object p
         0: .line 880
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.AnnotatedTypeTree.getAnnotations:()Ljava/util/List;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 881
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.AnnotatedTypeTree.getUnderlyingType:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 882
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.AnnotatedTypeTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/AnnotatedTypeTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/AnnotatedTypeTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitModule(com.sun.source.tree.ModuleTree, );
    descriptor: (Lcom/sun/source/tree/ModuleTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.ModuleTree node
        start local 2 // java.lang.Object p
         0: .line 887
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ModuleTree.getAnnotations:()Ljava/util/List;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 888
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ModuleTree.getName:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 889
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ModuleTree.getDirectives:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         3: .line 890
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.ModuleTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    4     1  node  Lcom/sun/source/tree/ModuleTree;
            0    4     2     p  TP;
            1    4     3     r  TR;
    Signature: (Lcom/sun/source/tree/ModuleTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitExports(com.sun.source.tree.ExportsTree, );
    descriptor: (Lcom/sun/source/tree/ExportsTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.ExportsTree node
        start local 2 // java.lang.Object p
         0: .line 895
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ExportsTree.getPackageName:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 896
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ExportsTree.getModuleNames:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 897
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.ExportsTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/ExportsTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/ExportsTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitOpens(com.sun.source.tree.OpensTree, );
    descriptor: (Lcom/sun/source/tree/OpensTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.OpensTree node
        start local 2 // java.lang.Object p
         0: .line 902
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.OpensTree.getPackageName:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 903
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.OpensTree.getModuleNames:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 904
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.OpensTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/OpensTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/OpensTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitProvides(com.sun.source.tree.ProvidesTree, );
    descriptor: (Lcom/sun/source/tree/ProvidesTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.ProvidesTree node
        start local 2 // java.lang.Object p
         0: .line 909
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ProvidesTree.getServiceName:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
        start local 3 // java.lang.Object r
         1: .line 910
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.ProvidesTree.getImplementationNames:()Ljava/util/List;
            aload 2 /* p */
            aload 3 /* r */
            invokevirtual com.sun.source.util.TreeScanner.scanAndReduce:(Ljava/lang/Iterable;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* r */
         2: .line 911
            aload 3 /* r */
            areturn
        end local 3 // java.lang.Object r
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.ProvidesTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    3     1  node  Lcom/sun/source/tree/ProvidesTree;
            0    3     2     p  TP;
            1    3     3     r  TR;
    Signature: (Lcom/sun/source/tree/ProvidesTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitRequires(com.sun.source.tree.RequiresTree, );
    descriptor: (Lcom/sun/source/tree/RequiresTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.RequiresTree node
        start local 2 // java.lang.Object p
         0: .line 916
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.RequiresTree.getModuleName:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.RequiresTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/RequiresTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/RequiresTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitUses(com.sun.source.tree.UsesTree, );
    descriptor: (Lcom/sun/source/tree/UsesTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.UsesTree node
        start local 2 // java.lang.Object p
         0: .line 921
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.UsesTree.getServiceName:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.UsesTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/UsesTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/UsesTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitOther(com.sun.source.tree.Tree, );
    descriptor: (Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.Tree node
        start local 2 // java.lang.Object p
         0: .line 933
            aconst_null
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.Tree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/Tree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/Tree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitErroneous(com.sun.source.tree.ErroneousTree, );
    descriptor: (Lcom/sun/source/tree/ErroneousTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.ErroneousTree node
        start local 2 // java.lang.Object p
         0: .line 945
            aconst_null
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.ErroneousTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/ErroneousTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/ErroneousTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     

  public R visitYield(com.sun.source.tree.YieldTree, );
    descriptor: (Lcom/sun/source/tree/YieldTree;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.source.util.TreeScanner this
        start local 1 // com.sun.source.tree.YieldTree node
        start local 2 // java.lang.Object p
         0: .line 957
            aload 0 /* this */
            aload 1 /* node */
            invokeinterface com.sun.source.tree.YieldTree.getValue:()Lcom/sun/source/tree/ExpressionTree;
            aload 2 /* p */
            invokevirtual com.sun.source.util.TreeScanner.scan:(Lcom/sun/source/tree/Tree;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object p
        end local 1 // com.sun.source.tree.YieldTree node
        end local 0 // com.sun.source.util.TreeScanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/source/util/TreeScanner<TR;TP;>;
            0    1     1  node  Lcom/sun/source/tree/YieldTree;
            0    1     2     p  TP;
    Signature: (Lcom/sun/source/tree/YieldTree;TP;)TR;
    MethodParameters:
      Name  Flags
      node  
      p     
}
Signature: <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;Lcom/sun/source/tree/TreeVisitor<TR;TP;>;
SourceFile: "TreeScanner.java"
InnerClasses:
  public final CaseKind = com.sun.source.tree.CaseTree$CaseKind of com.sun.source.tree.CaseTree