public function addNormalizer(string $option, \Closure $normalizer, bool $forcePrepend = false): self
    {
        if ($this->locked) {
            throw new AccessException('Normalizers cannot be set from a lazy option or normalizer.');
        }

        if (!isset($this->defined[$option])) {
            throw new UndefinedOptionsException(sprintf('The option "%s" does not exist. Defined options are: "%s".', $option, implode('", "', array_keys($this->defined))));
        }

        if ($forcePrepend) {
            array_unshift($this->normalizers[$option], $normalizer);
        } else {
            $this->normalizers[$option][] = $normalizer;
        }

        // Make sure the option is processed
        unset($this->resolved[$option]);

        return $this;
    }