private function findFirstOrLast($order = null)
    {
        $orderBy = (!is_null($order)) ? $order : 'ASC';

        $fetchObject = $this->select('all')
            ->orderBy(self::cyrus()->getKeyName(), $orderBy)
            ->limit(1)
            ->findAll();

        if ($fetchObject == null) {
            return self::cyrus()->returnEmptyObject();
        }

        return $fetchObject;
    }