/// ------------------------------------------------------------------------------------ /// <summary> /// Gets the sequence of selected possibilities /// </summary> /// <param name="listToUpdate">Sequence of possibilities. All possibilities that may be in /// this list get deleted and the new ones added.</param> /// <returns>True if the sequence was changed, false otherwise</returns> /// ------------------------------------------------------------------------------------ public bool GetPossibilities(IFdoReferenceSequence<ICmPossibility> listToUpdate) { CheckDisposed(); Debug.Assert(listToUpdate != null); Guid[] origGuids = listToUpdate.ToGuidArray(); // Clear the list first. listToUpdate.Clear(); bool fAllItemsAreTheSame = true; int i = 0; foreach (ICmPossibility newPoss in tvPossibilities.SelectedPossibilities) { listToUpdate.Add(newPoss); fAllItemsAreTheSame &= (i < origGuids.Length && origGuids[i++] != newPoss.Guid); } return (!fAllItemsAreTheSame || i != origGuids.Length); }