protected final void toString(StringBuilder sb, LiRhsPart[] parts, String separator) { boolean first = true; for (LiRhsPart p : parts) { if (first) { first = false; } else { sb.append(separator); } p.toString(sb); } }
@Override public String toString() { StringBuilder sb = new StringBuilder(); toString(sb); return sb.toString(); }