// not that Class.forName must be used to initialize the class a simple loadClass may not.
try {
if(session != null) {
if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()){
try {
driverClass = (Class)AccessController.doPrivileged(new PrivilegedClassForName(this.getDriverClassName(), true, session.getPlatform().getConversionManager().getLoader()));
} catch (PrivilegedActionException exception) {
throw DatabaseException.configurationErrorClassNotFound(this.getDriverClassName());
}
} else {
driverClass = org.eclipse.persistence.internal.security.PrivilegedAccessHelper.getClassForName(this.getDriverClassName(), true, session.getPlatform().getConversionManager().getLoader());
}
} else {
if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()){
try {
driverClass = (Class)AccessController.doPrivileged(new PrivilegedClassForName(this.getDriverClassName(), true, ConversionManager.getDefaultManager().getLoader()));
} catch (PrivilegedActionException exception) {
throw DatabaseException.configurationErrorClassNotFound(this.getDriverClassName()); }
} else {
driverClass = org.eclipse.persistence.internal.security.PrivilegedAccessHelper.getClassForName(this.getDriverClassName(), true, ConversionManager.getDefaultManager().getLoader());
}