public static void main(String[] args) throws Exception {
        //System.err.println("ARGS:"+Arrays.toString(args));
        for (String key : System.getenv().keySet()) {
            System.out.println(key + " " + System.getenv(key));
        }
        Map<String, List<String>> argsMap = prepareArgs(args);
        if (argsMap.containsKey("help")) {
            printUsage();
            System.exit(0);
        }
        //printAllParameter(argsMap);

        // System.out.println(argsMap.get("app").size());

        ToolsRunner runningTool = getRunnerTool(argsMap.get("app") == null
                || argsMap.get("app").size() == 0 ? null : argsMap.get("app")
                .get(0));
        log.info("Starting " + runningTool.getName());

        String[] appArgs = new String[argsMap.get("args").size()];
        for (int i = 0; i < appArgs.length; i++) {
            appArgs[i] = argsMap.get("args").get(i).trim();
        }
        runningTool.run(appArgs);
    }