/**
  * Proxy getting properties to real objects.
  *
  * @param string $name Property name.
  *
  * @throws \UnexpectedValueException If property unknown.
  * @return float
  */
 public function __get($name)
 {
     switch ($name) {
         case 'Diff_Timeout':
             $result = $this->diff->getTimeout();
             break;
         case 'Diff_EditCost':
             $result = $this->diff->getEditCost();
             break;
         case 'Match_Threshold':
             $result = $this->match->getThreshold();
             break;
         case 'Match_Distance':
             $result = $this->match->getDistance();
             break;
         case 'Match_MaxBits':
             $result = $this->match->getMaxBits();
             break;
         case 'Patch_DeleteThreshold':
             $result = $this->patch->getDeleteTreshold();
             break;
         case 'Patch_Margin':
             $result = $this->patch->getMargin();
             break;
         default:
             throw new \UnexpectedValueException('Unknown property: ' . $name);
     }
     return $result;
 }