rootProcess = runSmartFrog(opts, null);
rootProcess = runSmartFrog(opts, null, info);
    public static void main(String[] args) {        ProcessCompound rootProcess = null;        showVersionInfo();        OptionSet opts = new OptionSet(args);        if (opts.errorString != null) {            Logger.log(opts.errorString);            exit();        }        try {            rootProcess = runSmartFrog(opts, null);        } catch (SmartFrogException sfex) {            Logger.log(sfex);            exit();        } catch (UnknownHostException uhex) {            Logger.log(MessageUtil.formatMessage(MSG_UNKNOWN_HOST, opts.host),                    uhex);            exit();        } catch (ConnectException cex) {            Logger.log(MessageUtil.formatMessage(MSG_CONNECT_ERR, opts.host),                    cex);            exit();        } catch (RemoteException rmiEx) {            // log stack trace            Logger.log(MessageUtil.formatMessage(MSG_REMOTE_CONNECT_ERR,                    opts.host), rmiEx);            exit();        } catch (Exception ex) {            //log stack trace            Logger.log(MessageUtil.                    formatMessage(MSG_UNHANDLED_EXCEPTION), ex);            exit();        }        // Check for exit flag        if (opts.exit) {            if (opts.names.size() != 0 && !errorDeploy) {                Logger.log(MessageUtil.                        formatMessage(MSG_DEPLOY_SUCCESS, opts.names));            }            if (opts.terminations.size() != 0 && !errorTermination) {                Logger.log(MessageUtil.                        formatMessage(MSG_TERMINATE_SUCCESS, opts.terminations));            }            System.exit(0);        } else {            //Logger.log(MessageUtil.formatMessage(MSG_SF_READY));            if (Logger.logStackTrace) {                String name = "";                try {                    if (rootProcess != null) {                        name = rootProcess.sfResolve("sfProcessName", name, false);                    }                } catch (Exception ex) {                    //ignore.                }                Logger.log(MessageUtil.formatMessage(MSG_SF_READY, "[" + name + "]") + " " + new Date(System.currentTimeMillis()));            } else {                Logger.log(MessageUtil.formatMessage(MSG_SF_READY, ""));            }        }    }