class GFLauncher {

    public final void launch() throws GFLauncherException {
        try {
            startTime = System.currentTimeMillis();
            if (!setupCalledByClients) {
                setup();
            }
            // Typically invokes launchInstance()
            internalLaunch();
        } catch (GFLauncherException gfe) {
            throw gfe;
        } catch (Throwable t) {
            // hk2 might throw a java.lang.Error
            throw new GFLauncherException(strings.get("unknownError", t.getMessage()), t);
        } finally {
            GFLauncherLogger.removeLogFileHandler();
        }
    }

      GFLauncher(GFLauncherInfo info);

}