public function equals(MetaClassProperty $property)
 {
     return $property->getName() == $this->getName() && $property->getColumnName() == $this->getColumnName() && $property->getType() == $this->getType() && $property->getSize() == $this->getSize() && $property->getRelation() == $this->getRelation() && $property->isRequired() == $this->isRequired() && $property->isIdentifier() == $this->isIdentifier();
 }
 /**
  * @return MetaClass
  **/
 public function addProperty(MetaClassProperty $property)
 {
     $name = $property->getName();
     if (!isset($this->properties[$name])) {
         $this->properties[$name] = $property;
     } else {
         throw new WrongArgumentException("property '{$name}' already exist");
     }
     if ($property->isIdentifier()) {
         $this->identifier = $property;
     }
     return $this;
 }