public function applyJoin(SelectQuery $query, array $sortClauses, array $languageSettings)
    {
        foreach ($sortClauses as $nr => $sortClause) {
            foreach ($this->handlers as $handler) {
                if ($handler->accept($sortClause)) {
                    $handler->applyJoin($query, $sortClause, $nr, $languageSettings);
                    continue 2;
                }
            }

            throw new RuntimeException('No handler available for sort clause: ' . get_class($sortClause));
        }
    }