original_string: public function &get($property)
      {
          if (!strlen((string)$property)) {
              throw new InvalidArgumentException('Cannot get an empty property');
          }
  
          $value = null;
          $method = static::_accessor($property, 'get');
  
          if (isset($this->_properties[$property])) {
              $value =& $this->_properties[$property];
          }
  
          if ($method) {
              $result = $this->{$method}($value);
  
              return $result;
          }
  
          return $value;
      }
code: public function &get($property)
      {
          if (!strlen((string)$property)) {
              throw new InvalidArgumentException('Cannot get an empty property');
          }
  
          $value = null;
          $method = static::_accessor($property, 'get');
  
          if (isset($this->_properties[$property])) {
              $value =& $this->_properties[$property];
          }
  
          if ($method) {
              $result = $this->{$method}($value);
  
              return $result;
          }
  
          return $value;
      }
code_tokens: public function & get ( $ property ) { if ( ! strlen ( ( string ) $ property ) ) { throw new InvalidArgumentException ( 'Cannot get an empty property' ) ; } $ value = null ; $ method = static :: _accessor ( $ property , 'get' ) ; if ( isset ( $ this -> _properties [ $ property ] ) ) { $ value = & $ this -> _properties [ $ property ] ; } if ( $ method ) { $ result = $ this -> { $ method } ( $ value ) ; return $ result ; } return $ value ; }
docstring: Returns the value of a property by name
  
  @param string $property the name of the property to retrieve
  @return mixed
  @throws \InvalidArgumentException if an empty property name is passed
docstring_tokens: Returns the value of a property by name