private static final void locateFilesFromDirRoot(File [] currDirArray, List<String> currFileTypeExtList, List<File> currFilesFromSearchList, boolean recursiveSearch){
		List<File> currDirRootList = new ArrayList<File>();
		currDirRootList.addAll( Arrays.asList( currDirArray ) );
		//No Sanity Checks needed as this is a private member and used internally...
		for(File currFile : currDirRootList){
			if(currFile.isDirectory()){
				if(recursiveSearch) {//RECURSION!!!
					File [] currFileDirArray = currFile.listFiles();
					locateFilesFromDirRoot(currFileDirArray, currFileTypeExtList, currFilesFromSearchList, recursiveSearch);
				}
			}else{
				for(String currFileTypeExt : currFileTypeExtList) {
					if(currFile.getName().endsWith(currFileTypeExt)){
						currFilesFromSearchList.add(currFile);
					}
				}
			}
		}
	}
Performs the location of files of type FileTypeExtension passed in, whether recursively
or not, and stores these files in the currFilesFromSearchList parameter.

@param currDirArray - The Directory Root Array of Files.
@param currFileTypeExtList - The List of File Type Extensions to Search for
@param currFilesFromSearchList - File List to add found Files to.
@param recursiveSearch - Determine whether to Search recursively or not
Ghidra/Framework/SoftwareModeling/src/test/java/ghidra/sleigh/grammar/FileSearcher.java