if (old != null) {
if ( source.getPersistenceContext().getEntry(old).getStatus() == Status.DELETED ) {
source.forceFlush( source.getPersistenceContext().getEntry(old) );
}
else {
throw new NonUniqueObjectException( id, persister.getEntityName() );
}
}
persister.setIdentifier(entity, id, source.getEntityMode());
}
else {