public function join($alias = null)
    {
        if (null === $alias) {
            $alias = $this->generateUniqueId('join');
        }
        $this->joinRelation = $alias;
        $this->applyJoin();

        $joinedEAVQb = new EAVQueryBuilder($this->eavQueryBuilder->getQueryBuilder(), $alias);
        $joinedEAVQb->setContext($this->context);

        return $joinedEAVQb;
    }