protected function instantiateQuery($queryClass, $apiQueryName)
    {
        if (!is_a($queryClass, static::$queryInterface, true))
        {
            throw new RuntimeException("Query class '{$queryClass}' does not implements '" .
                                       static::$queryInterface . "' interface.");
        }

        return new $queryClass($apiQueryName);
    }