public ArrayList<File> find(String path, String mask)
	    throws FileNotFoundException {

	ArrayList<File> result = new ArrayList<>();
	File file = new File(path);
	if (!file.isDirectory()) {
	    throw (new FileNotFoundException("it is not directory!"));
	}

	if (!MaskValidator.isValid(mask)) {
	    throw (new RuntimeException("bad mask"));
	}

	File[] fileList = file.listFiles();
	for (File f : fileList) {
	    if (f.isFile()) {
		if (MaskValidator.isNameValid(mask, f.getName())) {

		    result.add(f);
		    System.out.println(f.getName());
		}
	    }
	    if (f.isDirectory()) {
		ArrayList<File> temp = find(f.getAbsolutePath(), mask);
		result.addAll(temp);
	    }
	}
	return result;

    }