public virtual string ToString(out ParameterDictionary parameters) { parameters = new ParameterDictionary(); foreach (var clause in Clauses) { clause.ToString(out ParameterDictionary clauseParameters); parameters = parameters.Union(clauseParameters).ToParameterDictionary(); } return(ToString()); }