// be either cached in the server session or ignored
properties = splitProperties[0];
Map serverSessionProperties = splitProperties[1];
// the call top setupImpl.deploy() finishes the session
// creation
ServerSession tempServerSession = setupImpl.deploy(realLoader, serverSessionProperties);
// discard all but non server session properties from server
// session properties.
Map tempProperties = EntityManagerFactoryProvider.keepSpecifiedProperties(tempServerSession.getProperties(), supportedNonServerSessionProperties);
// properties override server session properties
Map propertiesToProcess = EntityManagerFactoryProvider.mergeMaps(properties, tempProperties);
processProperties(propertiesToProcess);
this.serverSession = tempServerSession;
}