original_string: 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;
      }
code: 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;
      }
code_tokens: 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 ; }
docstring: Sets the underlying configuration
  
  @param array $configuration
  @return ConfigurationProviderInterface
docstring_tokens: Sets the underlying configuration