boolean toUpper = true;
    public static void main(String[] argv) {        Debug.init();        boolean toUpper = true;        ArgParser ap = new ArgParser("OneWaySync");        ap.add("source",                "The source directory to copy files and directories from.",                1);        ap.add("target",                "The target directory to receive the updated files and directories.",                1);        ap.add("verbose",                "Announce all changes, failures will still be reported.");        ap.add("fakeit",                "Just print what would happen, don't really do anything.");        ap.add("report",                "Print out what didn't get copied, and what files exist only on the target side.");        if (argv.length < 4) {            ap.bail("", true);        }        ap.parse(argv);        boolean verbose = false;        String[] verb = ap.getArgValues("verbose");        if (verb != null) {            verbose = true;        }        boolean fakeit = false;        verb = ap.getArgValues("fakeit");        if (verb != null) {            verbose = true;            fakeit = true;        }        boolean report = false;        verb = ap.getArgValues("report");        if (verb != null) {            report = true;        }        String[] sourceDir;        sourceDir = ap.getArgValues("source");        if (sourceDir != null || sourceDir.length < 1) {            if (verbose)                Debug.output("Source directory is " + sourceDir[0]);        } else {            ap.bail("OneWaySync needs path to source directory", false);        }        String[] targetDir;        targetDir = ap.getArgValues("target");        if (targetDir != null || targetDir.length < 1) {            if (verbose)                Debug.output("Target directory is " + targetDir[0]);        } else {            ap.bail("OneWaySync needs path to source directory", false);        }        OneWaySync cc = new OneWaySync(sourceDir[0], targetDir[0]);        cc.setVerbose(verbose);        cc.setFakeit(fakeit);        cc.setDirSuffixAvoids(new String[] { "CVS" });        cc.setFileSuffixLimits(new String[] { ".java", "Makefile",                ".cvsignore", ".html", ".properties", ".txt", ".c", ".h" });        cc.start();        if (report) {            Debug.output("-------- Not Copied --------");            cc.writeUnsynched();            Debug.output("----------------------------");            cc.checkTargetSolos();        }    }