synchronized static public File findExecutable(String name, String targetName) throws IOException {
        return findExecutable(name, targetName, null);
    }
synchronized static public File findExecutable ( String name , String targetName ) throws IOException { return findExecutable ( name , targetName , null ) ; }
Finds (extracts if necessary) a named executable for the runtime
operating system and architecture. The executable should be a regular
Java resource at the path /jne/[os]/[arch]/[exe]. The name of the file
will be automatically adjusted for the target platform. For example, on
Windows, to find the "cat" application, this method will actually search
for "cat.exe".

@param name The executable name you would normally type on the
command-line. For example, "cat" or "ping" would search for "ping.exe" on
windows and "ping" on linux/mac.
@param targetName The executable name you would like the resource (if
found) to be named on extract.
@return The executable file or null if no executable found.
@throws java.io.IOException
@throws ExtractException Thrown if a runtime exception occurs while
finding or extracting the executable.