synchronized (EntityManagerFactoryProvider.emSetupImpls) {
emSetupImpl = EntityManagerFactoryProvider.getEntityManagerSetupImpl(sessionName);
if (emSetupImpl != null) {
if (puInfo.getClassLoader() != emSetupImpl.getPersistenceUnitInfo().getClassLoader()) {
emSetupImpl.undeploy();
EntityManagerFactoryProvider.getEmSetupImpls().remove(sessionName);
if (SessionManager.getManager().getSessions().containsKey(sessionName)) {
SessionManager.getManager().destroySession(sessionName);
}