public DirectedVertex <T>[] GetSources()
        {
            var set = new DirectedVertex <T> [Indegree];

            for (var i = 0; i < Indegree; i++)
            {
                set[i] = IncomingEdges[i].Source;
            }
            return(set);
        }
        public DirectedVertex <T>[] GetTargets()
        {
            var set = new DirectedVertex <T> [Outdegree];

            for (var i = 0; i < Outdegree; i++)
            {
                set[i] = OutgoingEdges[i].Target;
            }
            return(set);
        }