private static int findFirstSetIndex(SparseBooleanArray sba, int rangeStart, int rangeEnd) {
        int size = sba.size();
        int i = insertionIndexForKey(sba, rangeStart);
        while (i < size && sba.keyAt(i) < rangeEnd && !sba.valueAt(i))
            i++;
        if (i == size || sba.keyAt(i) >= rangeEnd)
            return -1;
        return i;
    }
Use this when an item has been deleted, to move the check state of all
following items up one step. If you have a choiceMode which is not none,
this method must be called when the order of items changes in an
underlying adapter which does not have stable IDs (see
{@link ListAdapter#hasStableIds()}). This is because without IDs, the
ListView has no way of knowing which items have moved where, and cannot
update the check state accordingly.

See also further comments on {@link #moveCheckState(int, int)}.

@param position
third_party/DragSortListView/src/com/mobeta/android/dslv/DragSortListView.java