/**
  * Determines whether a property is defined.
  * This method overrides parent implementation by returning true
  * if the collection contains the named key.
  * @param string $name the property name
  * @return boolean whether the property is defined
  */
 public function hasProperty($name)
 {
     return $this->contains($name) || parent::hasProperty($name);
 }