code: public function configureOptions(OptionsResolver $resolver)
      {
          $resolver->setRequired(
              [
                  'resource_type',
              ]
          );
          $resolver->setDefaults(
              [
                  'class' => null,
                  'repository' => null,
                  'compound' => false,
                  'error_bubbling' => false,
              ]
          );
          $resolver->setNormalizer(
              'resource_type',
              function (Options $options, $value) {
                  return $this->resourceManager->getResourceTypeConfiguration($value);
              }
          );
          $resolver->setNormalizer(
              'class',
              function (Options $options, $value) {
                  $resourceType = $options['resource_type'];
                  if (!$value && $resourceType instanceof ResourceTypeConfiguration) {
                      return $resourceType->getEntity();
                  }
  
                  return $value;
              }
          );
          $resolver->setNormalizer(
              'repository',
              function (Options $options, $value) {
                  if ($value) {
                      if ($value instanceof ObjectRepository) {
                          return $value;
                      }
                      throw new \UnexpectedValueException("The 'repository' option must be an EntityRepository");
                  }
                  $class = $options['class'];
                  if (!$class) {
                      throw new \UnexpectedValueException("Missing option 'class' or 'repository'");
                  }
  
                  $entityManager = $this->doctrine->getManagerForClass($class);
                  if (!$entityManager instanceof EntityManagerInterface) {
                      throw new \UnexpectedValueException("No manager found for class {$class}");
                  }
  
                  return $entityManager->getRepository($class);
              }
          );
      }
docs: @param OptionsResolver $resolver
  
  @throws \Symfony\Component\OptionsResolver\Exception\AccessException
  @throws \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException
  @throws \UnexpectedValueException