private void WriteCrossingEdges(IPartition partition, XmlWriter writer) { writer.WriteStartElement(PartitionSerializerTags.CrossingEdgesTag); IPartitionEdge edge; foreach (var item in partition.GetExternalEdges()) { writer.WriteStartElement(PartitionSerializerTags.CrossingEdgeTag); edge = (IPartitionEdge)item; // edge id writer.WriteStartElement(PartitionSerializerTags.IdTag); edge.Id.Serialize(writer); writer.WriteEndElement(); // id of the 'remote' partition writer.WriteStartElement(PartitionSerializerTags.PartitionIdTag); edge.GetOtherPartition(partition).Id.Serialize(writer); writer.WriteEndElement(); writer.WriteEndElement(); } writer.WriteEndElement(); }