code: public static List<File> find(File directory, String pattern) {
  		pattern = wildcardsToRegExp(pattern);
  		List<File> files = findFilesInDirectory(directory,
  				Pattern.compile(pattern), true);
  		List<File> result = new ArrayList<File>();
  		for (File file : files) {
  			String fileString = file.getPath().substring(
  					directory.getPath().length());
  			result.add(new File(fileString));
  		}
  		return result;
  	}
docs: This method searches a directory recursively. A pattern specifies which
  files are to be put into the output list.
  
  @param directory
  is the directory where the recursive search is to be started.
  @param pattern
  is a Apache like pattern to specify the files which are to be
  put into the output list.
  @return