final File jarFile = new File(fileName);  if (jarFile.isFile() && !processedJars.contains(jarFile)) {   processedJars.add(jarFile);  processComponentJar(jarFile, processedJars, implicitClasspath); }
while (!workList.isEmpty()) { WorkListItem item = workList.getNextItem(); processComponentJar(item.getURL(), workList, implicitClasspath);
	public List<String> getImplicitClasspathEntryList() {		final HashSet<File> processedJars = new HashSet<File>();		final LinkedList<String> implicitClasspath = new LinkedList<String>();		for (Iterator<String> i = jarList.iterator(); i.hasNext();) {			String fileName = i.next();			if (!fileName.endsWith(".zip") && !fileName.endsWith(".jar"))				continue;			final File jarFile = new File(fileName);			if (jarFile.isFile() && !processedJars.contains(jarFile)) {				// Add the name of the jar to the list of processed jars to				// avoid recursion.				processedJars.add(jarFile);				processComponentJar(jarFile, processedJars, implicitClasspath);			}		}		return implicitClasspath;	}