public virtual TransducerGraph.Arc ProcessArc(TransducerGraph.Arc a)
 {
     a = new TransducerGraph.Arc(a);
     a.SetInput(Generics.NewPair(a.GetInput(), a.GetOutput()));
     a.SetOutput(null);
     return(a);
 }
            public virtual TransducerGraph.Arc ProcessArc(TransducerGraph.Arc a)
            {
                a = new TransducerGraph.Arc(a);
                Pair p = (Pair)a.GetInput();

                a.SetInput(p.first);
                a.SetOutput(p.second);
                return(a);
            }