original_string: protected static function tryGetValue($provider, $object, $propertyName, &$error)
      {
          try {
              return call_user_func(array($provider, 'getValue'), $object, $propertyName);
          } catch (\InvalidArgumentException $e) {
              $error = $e;
              return null;
          }
      }
code: protected static function tryGetValue($provider, $object, $propertyName, &$error)
      {
          try {
              return call_user_func(array($provider, 'getValue'), $object, $propertyName);
          } catch (\InvalidArgumentException $e) {
              $error = $e;
              return null;
          }
      }
code_tokens: protected static function tryGetValue ( $ provider , $ object , $ propertyName , & $ error ) { try { return call_user_func ( array ( $ provider , 'getValue' ) , $ object , $ propertyName ) ; } catch ( \ InvalidArgumentException $ e ) { $ error = $ e ; return null ; } }
docstring: Try to get the value of an object property with a specific provider
  
  @param string|object                   $provider     The provider class(name) to use
  @param object                          $object       The object to read
  @param string                          $propertyName The name of the property to read
  @param \InvalidArgumentException|mixed $error        <p>
  If an error occurs, this variable will be set to the error triggered
  </p>
  
  @return mixed|null <p>
  The value of the object property, or <tt>null</tt> and an error in <tt>$error</tt> if an error occur.
  </p>
docstring_tokens: Try to get the value of an object property with a specific provider