src/main/java/com/fizzed/jne/JNE.java
synchronized static public File findFile(String name, Options options) throws IOException {
        if (options == null) {
            options = DEFAULT_OPTIONS;
        }

        // 1. try with os & arch
        File file = JNE.find(name, name, options, options.getOperatingSystem(), options.getHardwareArchitecture());

        // 2. try with os & any arch
        if (file == null) {
            file = JNE.find(name, name, options, options.getOperatingSystem(), HardwareArchitecture.ANY);
        }

        // 3. try with os & any arch
        if (file == null) {
            file = JNE.find(name, name, options, OperatingSystem.ANY, HardwareArchitecture.ANY);
        }

        return file;
    }
synchronized static public File findFile(String name, Options options) throws IOException {
        if (options == null) {
            options = DEFAULT_OPTIONS;
        }

        // 1. try with os & arch
        File file = JNE.find(name, name, options, options.getOperatingSystem(), options.getHardwareArchitecture());

        // 2. try with os & any arch
        if (file == null) {
            file = JNE.find(name, name, options, options.getOperatingSystem(), HardwareArchitecture.ANY);
        }

        // 3. try with os & any arch
        if (file == null) {
            file = JNE.find(name, name, options, OperatingSystem.ANY, HardwareArchitecture.ANY);
        }

        return file;
    }
Finds (or extracts) a named file. Will first attempt to locate the file
for the runtime operating system and architecture, then fallback to just
the runtime operating system, and finally fallback to the resource
prefix. For example, a file named "resource.txt" running on a JVM on x64
linux would search the following 3 resource paths:

/jne/linux/x64/resource.txt /jne/linux/resource.txt /jne/resource.txt

@param name The file name to find or extract.
@param options The options to use when finding an executable. If null
then the default options will be used.
@return The file or null if no file found.
@throws java.io.IOException
@throws ExtractException Thrown if a runtime exception occurs while
finding or extracting the executable.