@Override
 public void preUpdate(DescriptorEvent event) {
   Object source = event.getSource();
   UnitOfWorkImpl unitOfWork = (UnitOfWorkImpl) event.getSession();
   // preUpdate is also generated for deleted objects that were modified in this UOW.
   // Do not perform preUpdate validation for such objects as preRemove would have already been
   // called.
   if (!unitOfWork.isObjectDeleted(source)) {
     validateOnCallbackEvent(event, "preUpdate", groupPreUpdate);
   }
 }