This is the PMD programming mistake detector. In order to use it,
create a new instance of {@link net.sourceforge.pmd.PMD} and use its
{@link net.sourceforge.pmd.PMD#processFile} method.
This is a base class for RuleChainVisitor implementations which
extracts interesting nodes from an AST, and lets each Rule visit
the nodes it has expressed interest in.