void Remove(ActionBlock block)
 {
     foreach (ActionBlock s in block.Successors)
     {
         s.RemovePredecessor(block);
         if (0 == s.Predecessors.Count)
         {
             Remove(s);
         }
     }
     _blocks.Remove(block);
 }
 internal void RemovePredecessor(ActionBlock block)
 {
     _predecessors.Remove(block);
 }