/**
  * @param Requirement $requirement
  * @return $this
  */
 public function addRequirement(Requirement $requirement)
 {
     $this->requirements[] = $requirement;
     // Is of IsType class?
     if ($requirement instanceof IsType) {
         $this->type = $requirement->getType();
     }
     return $this;
 }
 /**
  * @return string
  */
 public function getError()
 {
     return $this->requirement->getError($this->getModel(), $this->getProperty());
 }
 /**
  * @param Model $model
  * @param Property $property
  * @return string
  */
 public function getError(Model $model, Property $property)
 {
     $error = parent::getError($model, $property);
     $error .= ' (' . $this->type . ')';
     return $error;
 }