EntityPersister persister = source.getFactory().getEntityPersister( li.getEntityName() );
if ( id == null ) {
throw new IllegalArgumentException("null identifier");
}
EntityKey key = new EntityKey( id, persister, source.getEntityMode() );
persistenceContext.removeProxy( key );
if ( !li.isUninitialized() ) {
final Object entity = persistenceContext.removeEntity(key);
if ( entity != null ) {
EntityEntry e = event.getSession().getPersistenceContext().removeEntry(entity);
doEvict( entity, key, e.getPersister(), event.getSession() );