internal void ToString(StringBuilder sb, int depth) { indent(sb, depth); if (left == null) { Debug.Assert(right == null); sb.Append("leaf: " + start + " to " + end); } else { sb.Append("node: " + start + " to " + end); } if (outputs != null) { sb.Append(" outputs="); sb.Append(outputs); } sb.Append('\n'); if (left != null) { Debug.Assert(right != null); left.ToString(sb, depth + 1); right.ToString(sb, depth + 1); } }