/**
  * Get resource file.
  *
  * @param string $resource
  *
  * @return string
  */
 private function getResourceFile($resource)
 {
     $resource = $this->resolver->resolveString($resource);
     $resource = $this->getBundlePath($resource);
     if (file_exists($resource)) {
         return $resource;
     }
     return null;
 }
 /**
  * Compute value.
  *
  * @param string   $value
  * @param Resolver $resolver
  *
  * @return array|Reference|mixed
  */
 private function computeValue($value, Resolver $resolver)
 {
     if (is_string($value)) {
         if (0 === strrpos($value, '@')) {
             $value = new Reference(substr($value, 1));
         } else {
             $value = $resolver->unescapeValue($value);
         }
     } elseif (is_array($value)) {
         foreach ($value as $index => $val) {
             $value[$index] = $this->computeValue($val, $resolver);
         }
     }
     return $value;
 }
 /**
  * Set property to service.
  *
  * @param string $property
  * @param mixed  $value
  *
  * @return static
  */
 public function setProperty($property, $value)
 {
     $this->service->{$property} = $this->resolver->resolveValue($value);
     return $this;
 }