code: public function merge(ConfigurationInterface $configuration): ConfigurationInterface
      {
          foreach ($configuration as $key => $value) {
              if (isset($this->data[$key]) 
                  && $value instanceof ConfigurationInterface 
                  && $this->data[$key] instanceof ConfigurationInterface
              ) {
                  $configuration = $this->data[$key];
                  $configuration->merge($value);
  
                  $value = $configuration;
              }
  
              $this->set($key, $value);
          }
  
          return $this;
      }
docs: {@inheritdoc}