code: public function create(Specification $spec, QueryBuilder $qb)
      {
          if (!$spec instanceof AndX) {
              throw new \InvalidArgumentException();
          }
  
          $firstPartFactory  = $this->registry->getFactory($spec->getFirstPart());
          $secondPartFactory = $this->registry->getFactory($spec->getSecondPart());
  
          return $qb->query()->bool()
              ->addMust($firstPartFactory->create($spec->getFirstPart(), $qb))
              ->addMust($secondPartFactory->create($spec->getSecondPart(), $qb))
          ;
      }
docs: {inheritdoc}