private void WriteConstructorsAndCloneMethod(CodeWriter writer, Schema schema)
{
WriteSummaryText(writer, "Initializes a new instance.");
writer.WriteLine("public {0}CesiumWriter(string propertyName)", schema.NameWithPascalCase);
writer.WriteLine(" : base(propertyName)");
writer.OpenScope();
WriteAsTypeLazyInitialization(writer, schema);
writer.CloseScope();
writer.WriteLine();
WriteSummaryText(writer, "Initializes a new instance as a copy of an existing instance.");
WriteParameterText(writer, "existingInstance", "The existing instance to copy.");
writer.WriteLine("protected {0}CesiumWriter({0}CesiumWriter existingInstance)", schema.NameWithPascalCase);
writer.WriteLine(" : base(existingInstance)");
writer.OpenScope();
WriteAsTypeLazyInitialization(writer, schema);
writer.CloseScope();
writer.WriteLine();
WriteInheritDoc(writer);
writer.WriteLine("public override {0}CesiumWriter Clone()", schema.NameWithPascalCase);
writer.OpenScope();
writer.WriteLine("return new {0}CesiumWriter(this);", schema.NameWithPascalCase);
writer.CloseScope();
writer.WriteLine();
}