void WriteClassesToFile(TextWriter sw, IEnumerable<JsonType> types)
{
var inNamespace = false;
var rootNamespace = false;
CodeWriter.WriteFileStart(this, sw);
foreach (var type in types)
{
if (UseNamespaces && inNamespace && rootNamespace != type.IsRoot && SecondaryNamespace != null) { CodeWriter.WriteNamespaceEnd(this, sw, rootNamespace); inNamespace = false; }
if (UseNamespaces && !inNamespace) { CodeWriter.WriteNamespaceStart(this, sw, type.IsRoot); inNamespace = true; rootNamespace = type.IsRoot; }
CodeWriter.WriteClass(this, sw, type);
}
if (UseNamespaces && inNamespace) CodeWriter.WriteNamespaceEnd(this, sw, rootNamespace);
CodeWriter.WriteFileEnd(this, sw);
}