private void AddToFactTree(string domain, FactTreeMemento messageBody, FactID factId, Dictionary <FactID, FactID> localIdByRemoteId)
 {
     if (!messageBody.Contains(factId))
     {
         FactMemento fact = _repository.Load(domain, factId);
         foreach (PredecessorMemento predecessor in fact.Predecessors)
         {
             AddToFactTree(domain, messageBody, predecessor.ID, localIdByRemoteId);
         }
         messageBody.Add(new IdentifiedFactMemento(factId, fact));
     }
 }
 private void AddToFactTree(string domain, FactTreeMemento messageBody, FactID factId, Dictionary<FactID, FactID> localIdByRemoteId)
 {
     if (!messageBody.Contains(factId))
     {
         FactMemento fact = _repository.Load(domain, factId);
         foreach (PredecessorMemento predecessor in fact.Predecessors)
             AddToFactTree(domain, messageBody, predecessor.ID, localIdByRemoteId);
         messageBody.Add(new IdentifiedFactMemento(factId, fact));
     }
 }