public function isEqual(DataObject $object)
{
if (get_class($this) != get_class($object)) {
return false;
}
$rf_obj = new \ReflectionObject($this);
$rf_props = $rf_obj->getProperties(\ReflectionProperty::IS_PUBLIC);
foreach ($rf_props as $rf_prop) {
if ($rf_prop->getValue($this) != $rf_prop->getValue($object)) {
return false;
}
}
return true;
}