protected function applyLimit(array $data, $limit, $offset)
    {
        if (empty($limit) && empty($offset)) {
            return $data;
        }

        if (!ctype_digit((string) $limit)) {
            $limit = null;
        }

        if (!ctype_digit((string) $offset)) {
            $offset = 0;
        }

        return array_slice($data, $offset, $limit);
    }