@@ -0,0 +1,1140 @@
+/**%0A * Provides interfaces and classes for finding where in the existing%0A * source to insert annotations etc.  %7B@link TreeFinder%7D manages the%0A * control flow and discovers the positions for insertion, relying on%0A * implementations of %7B@link Criterion%7D for determining whether an%0A * insertion should be made at a given location and on extensions of%0A * %7B@link Insertion%7D for the concrete text to be inserted.%0A * %3Cp%3E%0A * The current flow, given a collection of insertions and an abstract%0A * syntax tree (AST) representing a Java source file, consists of a%0A * pre-order traversal of the AST to find insertion positions, followed%0A * by the insertion of text for each positioned %7B@link Insertion%7D into%0A * the source code, in reverse order by position.  At each annotatable%0A * node encountered during the traversal, the program checks the%0A * %7B@link Criteria%7D for each yet-unmatched %7B@link Insertion%7D against%0A * the current node; when there is a match, the program finds and%0A * records the appropriate source position.%0A *%0A * @see TreeFinder#getPositions(com.sun.tools.javac.tree.JCTree.JCCompilationUnit, java.util.List)%0A */%0Apackage annotator.find;%0A

package documentation