code: @Override
    public Tree normalizeWholeTree(Tree tree, TreeFactory tf) {
      return tree.prune(emptyFilter, tf).spliceOut(aOverAFilter, tf);
    }
docs: Normalize a whole tree -- one can assume that this is the
  root.  This implementation deletes empty elements (ones with
  nonterminal tag label '-NONE-') from the tree, and splices out
  unary A over A nodes.  It does work for a null tree.