private static int rotate(int value, int offset, int lowerBound, int upperBound) {
        int windowSize = upperBound - lowerBound;

        value += offset;
        if (value < lowerBound) {
            value += windowSize;
        } else if (value >= upperBound) {
            value -= windowSize;
        }
        return value;
    }
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