@Override
	public boolean isValid(File file) {
	
		// Get the extension of the file
		String filename = file.getName();
		int seperatorIndex = filename.lastIndexOf(EXTENSION_SEPERATOR);
		String extension = "";
		if (seperatorIndex > 0) {
			extension = filename.substring(seperatorIndex + 1,filename.length());
		}
		
		// Check the extension against the list of valid extensions. If the list is null
		// then we assume that all extensions are invalid.
		if (extensionList == null) {
			return false;
		}
		
		// Check for special extension "*" which indicates any extension.
		if (anyExtensionWillDo) {
			return true;
		}
		
		for (int i = 0; i < extensionList.size(); i++) {
			String validExtension = (String) extensionList.get(i);
			if (validExtension.equalsIgnoreCase(extension)) {
				return true;
			}
		}
		
		return false;
	}