@Override
public void onPreRemoveCollection(PreCollectionRemoveEvent event) {
final CollectionEntry collectionEntry = getCollectionEntry( event );
if ( collectionEntry != null && !collectionEntry.getLoadedPersister().isInverse() ) {
Serializable oldColl = collectionEntry.getSnapshot();
if ( !event.getCollection().wasInitialized() && shouldGenerateRevision( event ) ) {
oldColl = initializeCollection( event );
}
onCollectionAction( event, null, oldColl, collectionEntry );
}
else {
if ( getEnversService().getGlobalConfiguration().isGlobalWithModifiedFlag() ) {
initializeCollection( event );
}
}
}