private FileProcessResult unrar(Path cwd, Path tmp) throws IOException {
        //we could use the -l option to check for potentially bad file names
        //e.g. path traversals
        ProcessBuilder pb = new ProcessBuilder();
        pb.directory(cwd.toFile());
        pb.command(
                "unrar",
                "x",  //extract with paths...hope that unrar protects against path traversals
                "-kb", // keep broken files
                "-p-", // we don't support passwords yet -- don't hang waiting for password on stdin
                ProcessUtils.escapeCommandLine(tmp.toAbsolutePath().toString())

        );
        return ProcessUtils.execute(pb, timeoutMillis, 10000, 1000);
    }
Parser for Rar files.  This relies on 'unrar' being installed
and on the path.  This is not the default rar parser and must
be selected via the tika-config.xml.
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/parser/pkg/UnrarParser.java