/**
  * {@inheritdoc}
  */
 protected function finalizeValue($value)
 {
     foreach ($this->requiredKeys as $requiredKey) {
         if (!array_key_exists($requiredKey, $value)) {
             $msg = sprintf('The key "%s" at path "%s" must be configured.', $requiredKey, $this->getPath());
             $ex = new InvalidConfigurationException($msg);
             $ex->setPath($this->getPath());
             throw $ex;
         }
     }
     return parent::finalizeValue($value);
 }
 /**
  * Make the closure serializable.
  *
  * @param Closure $value
  *
  * @return SerializableClosure
  */
 protected function finalizeValue($value)
 {
     return new SerializableClosure(parent::finalizeValue($value));
 }