private void scanDirectory(String directoryName, String fileNameFilter)
	{
		File dir = new File(directoryName);
		FilenameFilter filter = new FilenameFilterImpl(fileNameFilter);
		
		if(DEBUG) System.out.println("Scanning '" +directoryName +"' for file matching '" +fileNameFilter +"'");
		
		String[] files = dir.list(filter);
		if(files != null) {
			for(String file : files) {
				String completeFilename = directoryName +"\\" +file;
				
				try {
					InputStream pluginxml = getFileFromJar(completeFilename, "plugin.xml");
					
					if(pluginxml != null) {
						// extract xml structure from plugin.xml
						Document pluginDescr = parseXml(pluginxml);
						
						// cache entries
						if(DEBUG) System.out.println("Searching for extensions in " +completeFilename);
						extractExtensionPoints(pluginDescr);
					} else {
						if(DEBUG) System.out.println("No plugin.xml in " +completeFilename);
					}
				}
				catch(Exception exc) {
					if(DEBUG) {
						System.err.println("Errors while operating with " +completeFilename +" (" +exc +")");
						exc.printStackTrace(System.err);
					}
				}
			}
		}
	}