original_string: public function hasProperty($id, $name, $directAccess = false)
      {
          if (!$directAccess) {
              $id = $this->validateAndResolveId($id);
          }
  
          return isset($this->items[$id][$name]) || array_key_exists($name, $this->items[$id]);
      }
code: public function hasProperty($id, $name, $directAccess = false)
      {
          if (!$directAccess) {
              $id = $this->validateAndResolveId($id);
          }
  
          return isset($this->items[$id][$name]) || array_key_exists($name, $this->items[$id]);
      }
code_tokens: public function hasProperty ( $ id , $ name , $ directAccess = false ) { if ( ! $ directAccess ) { $ id = $ this -> validateAndResolveId ( $ id ) ; } return isset ( $ this -> items [ $ id ] [ $ name ] ) || array_key_exists ( $ name , $ this -> items [ $ id ] ) ; }
docstring: Checks if the layout item has the given additional property
  
  @param string $id           The id or alias of the layout item
  @param string $name         The property name
  @param bool   $directAccess Indicated whether the item id validation should be skipped.
  This flag can be used to increase performance of get operation,
  but use it carefully and only when you absolutely sure that
  the value passed as the item id is not an alias
  
  @return bool
  
  @throws Exception\InvalidArgumentException if the id is empty
  @throws Exception\ItemNotFoundException if the layout item does not exist
docstring_tokens: Checks if the layout item has the given additional property