private void DetermineFollowNodesInSubGraph(ILogicalConstruct theGraph)
 {
     this.GetVerticesAndAdjacencyMatrix(theGraph);
     V_0 = MaxWeightDisjointPathsFinder.GetOptimalEdgesInDAG(this.adjacencyMatrix).GetEnumerator();
     try
     {
         while (V_0.MoveNext())
         {
             V_1 = V_0.get_Current();
             this.orderedVertexArray[V_1.get_Key()].set_CFGFollowNode(this.orderedVertexArray[V_1.get_Value()].get_FirstBlock());
             if (this.orderedVertexArray[V_1.get_Key()] as ConditionLogicalConstruct == null)
             {
                 continue;
             }
             V_2 = this.orderedVertexArray[V_1.get_Key()] as ConditionLogicalConstruct;
             if (V_2.get_CFGFollowNode() != V_2.get_TrueCFGSuccessor())
             {
                 continue;
             }
             V_2.Negate(this.typeSystem);
         }
     }
     finally
     {
         ((IDisposable)V_0).Dispose();
     }
     return;
 }