public function setConfiguration(array $configuration): ConfigurationProviderInterface
    {
        if (isset($configuration['configuration']) && $configuration['configuration']) {
            $configuration = array_merge(
                $configuration,
                $this->load($configuration['configuration']),
                array_filter($configuration)
            );
        }

        $this->configuration = $configuration;

        return $this;
    }
public function setConfiguration(array $configuration): ConfigurationProviderInterface
    {
        if (isset($configuration['configuration']) && $configuration['configuration']) {
            $configuration = array_merge(
                $configuration,
                $this->load($configuration['configuration']),
                array_filter($configuration)
            );
        }

        $this->configuration = $configuration;

        return $this;
    }
public function setConfiguration ( array $ configuration ) : ConfigurationProviderInterface { if ( isset ( $ configuration [ 'configuration' ] ) && $ configuration [ 'configuration' ] ) { $ configuration = array_merge ( $ configuration , $ this -> load ( $ configuration [ 'configuration' ] ) , array_filter ( $ configuration ) ) ; } $ this -> configuration = $ configuration ; return $ this ; }
Sets the underlying configuration

@param array $configuration
@return ConfigurationProviderInterface
Sets the underlying configuration