/**
  * Method to get the next ordering value for a group of rows defined by an SQL WHERE clause.
  * This is useful for placing a new item last in a group of items in the table.
  *
  * @param   string  $where  WHERE clause to use for selecting the MAX(ordering) for the table.
  *
  * @return  mixed  Boolean false an failure or the next ordering value as an integer.
  */
 public function getNextOrder($where = '')
 {
     // If there is no ordering field set an error and return false.
     $ordering = $this->getColumnAlias('ordering');
     if (!in_array($ordering, $this->getKnownFields())) {
         throw new UnexpectedValueException(sprintf('%s does not support ordering.', get_class($this)));
     }
     // Get the largest ordering value for a given where clause.
     $query = $this->_db->getQuery(true);
     $query->select('MAX(' . $this->_db->qn($ordering) . ')');
     $query->from($this->_tbl);
     if ($where) {
         $query->where($where);
     }
     $this->_db->setQuery($query);
     $max = (int) $this->_db->loadResult();
     // Return the largest ordering value + 1.
     return $max + 1;
 }