} else if (archiveExtensionSet.contains(fileExtension)) {
} else if (Archive.ARCHIVE_EXTENSION_SET.contains(fileExtension)) {
		public JavaClass getNextClass() throws IOException, InterruptedException {			for (;;) {				if (Thread.interrupted())					throw new InterruptedException();				ZipEntry zipEntry = zipInputStream.getNextEntry();				if (zipEntry == null)					return null;				try {					String entryName = zipEntry.getName();					// ClassScreener may veto this class.					if (!classScreener.matches(entryName)) {						// Add archive URL to aux classpath						if (!additionalAuxClasspathEntryList.contains(url.toString())) {							//System.out.println("Adding additional aux classpath entry: " + url.toString());							additionalAuxClasspathEntryList.add(url.toString());						}						continue;					}					String fileExtension = URLClassPath.getFileExtension(entryName);					if (fileExtension != null) {						if (fileExtension.equals(".class")) {							long modTime = zipEntry.getTime();							if (modTime > time) time = modTime;							return parseClass(url.toString(), new NoCloseInputStream(zipInputStream), entryName);						} else if (archiveExtensionSet.contains(fileExtension)) {							// Add nested archive to archive work list							if (url.toString().indexOf("!/") < 0) {							ArchiveWorkListItem nestedItem =								new ArchiveWorkListItem("jar:" + url.toString() + "!/" + entryName, false);							archiveWorkList.addFirst(nestedItem);							}						} else if (fileExtension.equals(".java")) {							containsSourceFiles = true;						}					}				} finally {					zipInputStream.closeEntry();				}			}		}