protected App2D startSlave(String connectionInfo, FirstVisibleInitializer fvi) {
App2D theApp = null;
try {
theApp = new AppXrwSlave(appName, pixelScale,
ProcessReporterFactory.getFactory().create(appName),
new AppXrwConnectionInfo(connectionInfo, secret), session,
this, fvi);
} catch (BadConnectionInfoException ex) {
// This is not a hard fail. It can happen in the normal course of a SAS warm start.
// Sometimes connection infos can be stale (i.e. can be from a previous run of the
// SAS. In this case we just return null. The caller will then expect to get a valid