public function delete($id)
{
!$this->objectDefinition->canDelete() && $this->throwUnsupportedMethodException();
$object = $this->retrieve($id);
$em = $this->getManager();
$this->eventDispatcher->dispatch(RestEvents::PRE_DELETE, new ObjectEvent($object));
$em->remove($object);
$em->flush();
$this->eventDispatcher->dispatch(RestEvents::POST_DELETE, new ObjectEvent($object));
}