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; }