public static State WorstOf(List<State> states)
{
// Unknown contributors should not be considered
states.RemoveAll(state => state == State.Unknown);
// If there are no known contributors, the rolled up state is unknown
if (states.Count == 0)
return State.Unknown;
if (states.Contains(State.Critical))
return State.Critical;
if (states.Contains(State.Minor))
return State.Minor;