code: public function set($property_name, $value)
      {
          $this->validateProperty($property_name, $value);
          $this->data[$property_name] = $value;
          return $this;
      }
docs: Pattern property setter
  
  @param $property_name
  @param $value
  @return $this
  @throws \Exception