@SuppressWarnings("unchecked")
    public M moveTo(int position)
    {
        Checks.notNegative(position, "Provided position");
        Checks.check(position < orderList.size(), "Provided position is too big and is out of bounds.");

        T selectedItem = orderList.remove(selectedPosition);
        orderList.add(position, selectedItem);

        return (M) this;
    }
@ SuppressWarnings ( "unchecked" ) public M moveTo ( int position ) { Checks . notNegative ( position , "Provided position" ) ; Checks . check ( position < orderList . size ( ) , "Provided position is too big and is out of bounds." ) ; T selectedItem = orderList . remove ( selectedPosition ) ; orderList . add ( position , selectedItem ) ; return ( M ) this ; }
Moves the currently selected entity to the specified
position (0 based index). All entities are moved in the
direction of the left <i>hole</i> to fill the gap.

@param  position
The new not-negative position for the currently selected entity

@throws java.lang.IllegalStateException
If no entity has been selected yet
@throws java.lang.IllegalArgumentException
If the specified position is out-of-bounds

@return The current OrderAction sub-implementation instance

@see    #moveDown(int)
@see    #moveUp(int)