@Override public final C start(Clause clause) { if (clause != null && visitClauses != null) { visitClauses.addLast(clause); for (VisitListener listener : visitListeners) listener.clauseStart(visitContext); } return (C) this; }