code: private function prepareAlias(string $alias, array &$parameters): void
      {
          if ('index' === $alias) {
              return;
          }
  
          $hasAutoItem = false;
          $autoItems = $this->getAutoItems($parameters);
  
          /** @var Config $config */
          $config = $this->framework->getAdapter(Config::class);
  
          $parameters['alias'] = preg_replace_callback(
              '/\{([^\}]+)\}/',
              static function (array $matches) use ($alias, &$parameters, $autoItems, &$hasAutoItem, $config): string {
                  $param = $matches[1];
  
                  if (!isset($parameters[$param])) {
                      throw new MissingMandatoryParametersException(
                          sprintf('Parameters "%s" is missing to generate a URL for "%s"', $param, $alias)
                      );
                  }
  
                  $value = $parameters[$param];
                  unset($parameters[$param]);
  
                  if ($hasAutoItem || !$config->get('useAutoItem') || !\in_array($param, $autoItems, true)) {
                      return $param.'/'.$value;
                  }
  
                  $hasAutoItem = true;
  
                  return $value;
              },
              $alias
          );
      }
docs: Adds the parameters to the alias.
  
  @throws MissingMandatoryParametersException