private function setPropertyIfExists($property, $value)
    {
        if (property_exists($this, $property)) {
            if ($value == null) {
                return $this;
            }

            $action = new HpsBuilderAction($property, array($this, 'setProperty'));
            $action->arguments = array($property, $value);
            $this->addAction($action);
        } else {
            throw new HpsUnknownPropertyException($this, $property);
        }
        return $this;
    }