protected function getValues($valueIds, $language)
    {
        $queryBuilder = $this->getConnection()->createQueryBuilder();
        $where        = $this->getWhereColumn()
            ? '(' . $this->getWhereColumn() . ')'
            : null;

        $statement = $this->getConnection()->createQueryBuilder()
            ->select('source.*')
            ->from($this->getTagSource(), 'source')
            ->where($queryBuilder->expr()->in('source.' . $this->getIdColumn(), $valueIds))
            ->andWhere(
                $queryBuilder->expr()->andX()->add('source.' . $this->getTagLangColumn() . '=:lang')->add($where)
            )
            ->setParameter('lang', $language)
            ->groupBy('source.' . $this->getIdColumn());


        if ($this->getTagSortSourceTable()) {
            $statement->addSelect($this->getTagSortSourceTable() . '.*');
            $statement->join(
                's',
                $this->getTagSortSourceTable(),
                'sort',
                $queryBuilder->expr()->eq('source.' . $this->getIdColumn(), 'sort.id')
            );

            if ($this->getTagSortSourceColumn()) {
                $statement->orderBy($this->getTagSortSourceColumn('sort'));
            }
        }

        $statement->addOrderBy('source.' . $this->getSortingColumn());

        return $statement->execute();
    }