code: @SuppressWarnings("unchecked")
      public M swapPosition(T swapEntity)
      {
          Checks.notNull(swapEntity, "Provided swapEntity");
          validateInput(swapEntity);
  
          return swapPosition(orderList.indexOf(swapEntity));
      }
docs: Swaps the currently selected entity with the specified entity.
  No other entities are affected by this operation.
  
  @param  swapEntity
  Target entity to switch positions with
  
  @throws java.lang.IllegalStateException
  If no entity has been selected yet
  @throws java.lang.IllegalArgumentException
  If the specified position is out-of-bounds,
  or if the target entity is {@code null} or not
  available in this order action implementation
  
  @return The current OrderAction sub-implementation instance
  
  @see    #swapPosition(int)