private ActivityArrowGraph CreateResultActivityArrowGraph()
        {
            var activityArrowGraph = new ActivityArrowGraph();

            foreach (var edge in arrowGraph.Edges)
            {
                var sourceVertex = CreateVertexEvent(edge.Source, arrowGraph.InDegree(edge.Source), arrowGraph.OutDegree(edge.Source));
                var targetVertex = CreateVertexEvent(edge.Target, arrowGraph.InDegree(edge.Target), arrowGraph.OutDegree(edge.Target));

                Activity edgeActivity;

                TryGetActivity(edge, out edgeActivity);

                activityArrowGraph.AddEdge(CreateActivityEdge(sourceVertex, targetVertex, edgeActivity, edge.IsCritical));
            }

            return activityArrowGraph;
        }