public Vector getMatchingFiles() {
        String dir;
        String filter;

        //    #################################################
        // Initialising Absoulute Directory:
        //  Windows          :  getAl�bsolutePath
        //  Unix-Linux-OS  :  $HOME directory
        String absDir;
        String operatingSystem = System.getProperty("os.name");

        if (operatingSystem.equals("Linux") ||
                operatingSystem.equals("Solaris") ||
                operatingSystem.equals("SunOS") ||
                operatingSystem.equals("Digital Unix") ||
                operatingSystem.equals("Unix")) {
            // Linux/Unix/Os Environment: get the Absolute working path
            absDir = new String((new File("")).getAbsolutePath());
        } else {
            //  Windows environment: get the absolute path
            absDir = new String((new File("")).getAbsolutePath());
        }

        for (int it = 0; it < inputFiles.size(); ++it) {
            String expr = (String) inputFiles.get(it);
            int separator = expr.lastIndexOf(sep);

            //Look for Operating System separator:
            if (separator >= (expr.length() - 1)) {
                // Separator last char ERROR
                dir = new String(expr.substring(0, separator));
                filter = new String("");
            } else if (separator >= 0) {
                // Separator found: split over dir and file (may contain wildcard)
                dir = expr.substring(0, separator + 1);
                filter = new String(expr.substring(separator + 1));

                if (!(new File(dir).isAbsolute())) {
                    dir = absDir + sep + dir + sep;
                }
            } else {
                // Separator not found: setting the directory to the working path (WIndows) or to the home path (Linux):
                filter = new String(expr);
                dir = absDir;
            }

            // Generate the pattern
            generatePattern(filter);

            // Extract the files
            extractFiles(new File(dir));
        }

        return extractedFiles;
    }