public function __construct($owner, $property, $value = null)
{
$this->_owner = $owner;
$this->_property = $property;
if (!$this->_property instanceof \ReflectionProperty) {
$this->_property = new \ReflectionProperty($owner, $this->_property);
}
$this->_property->setAccessible(true);
$this->_initValue = $value === null ? $this->getValue() : $value;
}