public function setOptionProperty($option, $property, $value)
    {
        if (!is_a($option, Option::class) && !Option::isValid($option)) {
            throw new ConfigurationException(
                "Invalid configuration option '$option'",
                ConfigurationException::TOOL_PROVIDER
            );
        } else {
            $this->options[(string) $option][$property] = $value;
        }
    }