private void OnNodeLinkCreated(object pSender, NodeLinkEventArgs pE)
        {
            NodeElementViewModel element1 = Nodes.FirstOrDefault(n => n.Guid == pE.NodeLink.FirstNode);
            //B element2 = Nodes.FirstOrDefault(n => n.Guid == pE.NodeLink.SecondNode) ??
            //                                    (BlueprintObjectViewModel)Sink[0];

            var node = mRepository.Get(n => n.Guid == pE.NodeLink.FirstNode);
            var start = node.Position;

            Position end;
            string info;
            if (pE.NodeLink.Sink == null)
            {
                var node2 = mRepository.Get(n => n.Guid == pE.NodeLink.SecondNode);
                end = node2.Position;
                info = GenerateLinkInfo(node.Position, node2.Position, pE.NodeLink.Type);
            }
            else
            {
                end = pE.NodeLink.Sink.Position;
                info = GenerateLinkInfo(node.Position, pE.NodeLink.Sink.Position, pE.NodeLink.Type);
            }

            var offset = AddPositionOffset();

            var link = new NodeLinkViewModel
            {
                X1 = offset.X,
                Y1 = offset.Y,
                Start = CopyPosition(start),
                End = CopyPosition(end),
                Info = info
            };

            element1.Links.Add(link);
            element1.LinksVisibility = Visibility.Visible;

            if (pE.NodeLink.Sink != null)
            {
                var sinkLink = new NodeLinkViewModel
                {
                    X1 = offset.X,
                    Y1 = offset.Y,
                    Start = CopyPosition(end),
                    End = CopyPosition(start),
                    Info = info
                };

                Sink[0].ConnectedNodes.Add(sinkLink);
                Sink[0].LinksVisibility = Visibility.Visible;
            }
        }
        private void OnAllNodeLinksRemoved(object pSender, NodeLinkEventArgs pE)
        {
            foreach (var node in Nodes)
            {
                node.LinksVisibility = Visibility.Collapsed;
                node.Links.Clear();
            }

            if (Sink.Any())
            {
                Sink[0].LinksVisibility = Visibility.Collapsed;
                Sink[0].ConnectedNodes.Clear();
            }

            mNodeNetwork.NetworkElementsUpdated();
        }