SilverlightMappingToolBasic.MapDepth.MapDepthNavigator.CompleteRelationshipLinks C# (CSharp) Method

CompleteRelationshipLinks() private method

private CompleteRelationshipLinks ( List nodes ) : void
nodes List
return void
        private void CompleteRelationshipLinks(List<INodeProxy> nodes)
        {
            IDictionary<Guid, INodeProxy> nodeDict = new Dictionary<Guid, INodeProxy>();
            foreach (INodeProxy nodeProxy in nodes)
            {
                nodeDict.Add(nodeProxy.Id, nodeProxy);
            }
            foreach (INodeProxy nodeProxy in nodes)
            {
                foreach (IDescriptorProxy descriptor in nodeProxy.Descriptors)
                {
                    foreach (IDescriptorProxy altDescriptor in descriptor.Relationship.Descriptors)
                    {
                        if (altDescriptor.Node == null && altDescriptor.NodeId != Guid.Empty
                            && nodeDict.ContainsKey(altDescriptor.NodeId))
                        {
                            altDescriptor.Node = nodeDict[altDescriptor.NodeId];
                        }
                        else if ((altDescriptor.Node == null && altDescriptor.NodeId != Guid.Empty
                            && FocalNode != null && FocalNode.Id == altDescriptor.NodeId))
                        {
                            altDescriptor.Node = FocalNode;
                        }
                    }
                }
            }
        }