/// <summary> /// Adds an external reference to the dictionary. /// </summary> protected void AddExternalReference( NodeId sourceId, NodeId referenceTypeId, bool isInverse, NodeId targetId, IDictionary<NodeId, IList<IReference>> externalReferences) { // get list of references to external nodes. IList<IReference> referencesToAdd = null; if (!externalReferences.TryGetValue(sourceId, out referencesToAdd)) { externalReferences[sourceId] = referencesToAdd = new List<IReference>(); } // add reserve reference from external node. ReferenceNode referenceToAdd = new ReferenceNode(); referenceToAdd.ReferenceTypeId = referenceTypeId; referenceToAdd.IsInverse = isInverse; referenceToAdd.TargetId = targetId; referencesToAdd.Add(referenceToAdd); }