code: @Override
    public Tree evaluate(Tree t, TregexMatcher m) {
      newNodeNames = new HashMap<String,Tree>();
      coindexer.setLastIndex(t);
      for (TsurgeonPattern child : children) {
        t = child.evaluate(t, m);
        if (t == null) {
          return null;
        }
      }
      return t;
    }
docs: returns null if one of the surgeries eliminates the tree entirely.  The
  operated-on tree is not to be trusted in this instance.