public void SetInfectionTransition(InfectionTransition <T> infectionTransition)
 {
     if (_allTransitions.Contains(InfectionTransition))
     {
         _allTransitions.Remove(InfectionTransition);
     }
     InfectionTransition = infectionTransition;
     _allTransitions.Add(infectionTransition);
 }
        public Transition <T> DetermineAgentInteractionTransition(T agent, Encounter <T> encounter, IRandomProvider randomProvider)
        {
            var transitionOccurs = InfectionTransition.InfectionOccurs(agent, encounter, randomProvider);

            return(!transitionOccurs ? null : InfectionTransition);
        }