protected function revertObjectBySingleLog(Log $log, EntityWrapper $wrapped)
 {
     if (!$log->getOlddata()) {
         return false;
     }
     $objectMeta = $wrapped->getMetadata();
     foreach ($log->getOlddata() as $field => $value) {
         if ($objectMeta->isSingleValuedAssociation($field)) {
             $mapping = $objectMeta->getAssociationMapping($field);
             $value = $value ? $this->_em->getReference($mapping['targetEntity'], $value) : null;
         }
         if (is_array($value) && count($value) == 3 && array_key_exists('date', $value) && array_key_exists('timezone', $value)) {
             //check if look likes a DateTime
             $value = new \DateTime($value['date'], new \DateTimeZone($value['timezone']));
         }
         $wrapped->setPropertyValue($field, $value);
     }
     return true;
 }