protected function configureOptions(OptionsResolver $resolver, ClassLoader $classLoader = null)
    {
        foreach ($this->params as $name) {
            if ($this->reflected->hasMethod($name)) {
                // There is a method to handle this option
                $resolver->setDefined($name);
                continue;
            }
            if ($this->reflected->hasProperty($name) &&
                $this->reflected->getProperty($name)->isPublic()
            ) {
                // There is a public member we can set to handle this option
                $resolver->setDefined($name);
                continue;
            }

            // Option that cannot be handled by a regular setter but
            // requires specific pre-processing and/or handling to be set
            // e.g. like LogglyHandler::addTag for instance
            if (!is_null($classLoader) && $classLoader->canHandle($name)) {
                $resolver->setDefined($name);
            }
        }
    }