public function addConfiguration($configuration, $configure = true)
    {
        if (!$configuration instanceof ConfigurationInterface) {
            $configuration = new Configuration($configuration);
        }

        $config = $this->getConfiguration();

        if ($config instanceof ConfigurationInterface) {
            $config->merge($configuration);
        } 

        if ($config === null) {
            $config = $configuration;
        }

        $this->setConfiguration($config, $configure);
    }