public static void WriteArray(StringBuilder sb, PBXElementArray el, int indent, bool compact, PropertyCommentChecker checker, GUIDToCommentMap comments) { sb.Append("("); foreach (var value in el.values) { if (!compact) { sb.Append("\n"); sb.Append(GetIndent(indent + 1)); } if (value is PBXElementString) { WriteStringImpl(sb, value.AsString(), checker.CheckStringValueInArray(value.AsString()), comments); } else if (value is PBXElementDict) { WriteDict(sb, value.AsDict(), indent + 1, compact, checker.NextLevel("*"), comments); } else if (value is PBXElementArray) { WriteArray(sb, value.AsArray(), indent + 1, compact, checker.NextLevel("*"), comments); } sb.Append(","); if (compact) { sb.Append(" "); } } if (!compact) { sb.Append("\n"); sb.Append(GetIndent(indent)); } sb.Append(")"); }