internal XElement HeapResolve(object resolveObject, string conventionType) { Guid finalGuid; //Метод GetCreateGuid(object,out Guid) возвращает bool значение которого отвечает на вопрос: //Был ли создан новый Guid для этого объекта if (HeapManager.GetCreateGuid(resolveObject, out finalGuid)) { //Для объекта resolveObject уже создан Guid методом GetCreateGuid //Поэтому теперь мы обновляем сериализированное состояние объекта и добавляем его в кучу сериализированных объектов HeapManager.Serialized.ReplaceValue(finalGuid, ResolveInternal(resolveObject, conventionType)); } //В случае если объект resolveObject существует в куче, предпологается что он также //существет и в куче сериализированных объектов. //В конечном счете, в итоговой xml-узел, в качестве значения, будет помещен guid указывающий на объект resolveObject return(XMLUtility.CreateReferenceNode(conventionType, finalGuid.ToString())); }