FLEX-34853, FLEX-34879 CAUSE: ListCollectionView.getItemIndex() uses findItem() which, along with findFirst(), findAny() and findLast(), always use the Sort to do the searching if the collection is already sorted. However, this assumes that all the current properties of Sort (including the properties of its SortFields) accurately represent the current sorting order in the collection, which is not the case. The reason is that one can change any property of Sort and SortField without the collection noticing. This leads to the error. SOLUTION: After discussing it with Alex H, I decided to implement a step-by-step transformation of SortField and Sort into true (i.e. immutable) value objects. They are suited to this design pattern because they have no identity, and the fact that they are now mutable has allowed this bug to exist. This way, no property will be changeable on SortField and Sort without recreating an object (and potentially cloning an existing one). This first step (FLEX-34879) is to mark the setters and the reverse() functions as deprecated for the next release, and to ensure that users can specify all the state fields directly in the constructors.