private void WriteNodesAndEdges(IPartition partition, XmlReader reader, XmlWriter writer) { writer.WriteStartElement(PartitionSerializerTags.ModelTag); var nodeIds = new HashSet <IId>(partition.Nodes.Select(n => n.Id)); this.modelSerializer.CopyNodes(reader, writer, nodeIds); var edgeIds = new HashSet <IId>(partition.CollectEdges().Select(e => e.Id)); this.modelSerializer.CopyEdges(reader, writer, edgeIds); writer.WriteEndElement(); }