public void Add(TransitState transitState) { ReorderTransitStates(); transitState.OrdinalPosition = TransitStates.Count > 0 ? TransitStates.Select(ts => ts.OrdinalPosition).Max() + 1 : 1; TransitStates.Add(transitState); }