public WtNode visit(WtWhitespace ws) {
      if (!ws.getHasNewline()) return ws;

      WtNodeList result = closeRemainingTags();
      if (result == null) return ws;

      state = State.None;
      result.add(ws);
      return result;
    }
 public void visit(WtWhitespace ws) {
   if (ws.getHasNewline()) finishLine();
 }