protected function getPrePersist()
{
return function ($proxy, $instance, $method, $params, &$returnEarly) {
/** @var EntityManager $instance */
$event = new PersistEvent($instance, $params['entity']);
$event->setReturnValue($instance);
$instance->getDispatcher()->dispatch(Event::PRE_PERSIST, $event);
if ($event->getAbort()) {
$returnEarly = true;
return $event->getReturnValue();
}
return null;
};
}