private void Expand(Disjunction disjunction) { if (disjunction.Any()) { builder.Append('('); var head = true; foreach (var item in disjunction) { if (head) { head = false; } else { builder.AppendLine().Append((item is Disjunction) ? "or " : "and "); } ExpandExpression(item); } builder.Append(')'); } }