// Fields
 // Results
 // Business constructor
 public VideoSwitch__selection(
     VideoSwitch videoSwitch
     ,IEnumerable<VideoSwitch__selection> prior
     ,RequestRoute value
     )
 {
     InitializeResults();
     _videoSwitch = new PredecessorObj<VideoSwitch>(this, GetRoleVideoSwitch(), videoSwitch);
     _prior = new PredecessorList<VideoSwitch__selection>(this, GetRolePrior(), prior);
     _value = new PredecessorObj<RequestRoute>(this, GetRoleValue(), value);
 }
            public CorrespondenceFact CreateFact(FactMemento memento)
            {
                RequestRoute newFact = new RequestRoute(memento);

                // Create a memory stream from the memento data.
                using (MemoryStream data = new MemoryStream(memento.Data))
                {
                    using (BinaryReader output = new BinaryReader(data))
                    {
                        newFact._fromChannel = (int)_fieldSerializerByType[typeof(int)].ReadData(output);
                        newFact._toChannel = (int)_fieldSerializerByType[typeof(int)].ReadData(output);
                    }
                }

                return newFact;
            }