} else if (name.endsWith(".jar") || name.endsWith(".zip")) { setZipStream(new ZipInputStream(zipFile.getInputStream(entry)), name); parsedClass = getNextNestedClass(); if (parsedClass != null) { break; } } else if (name.endsWith(".java")) containsSourceFiles = true;
} finally { zipInputStream.closeEntry(); }
		public JavaClass getNextClass() throws IOException, InterruptedException {			JavaClass parsedClass = getNextNestedClass();			if (parsedClass != null)				return parsedClass;			while (entries.hasMoreElements()) {				if (Thread.interrupted()) throw new InterruptedException();				ZipEntry entry = (ZipEntry) entries.nextElement();				String name = entry.getName();				if (name.endsWith(".class")) {					try {						parsedClass = parseClass(fileName, zipFile.getInputStream(entry), name);						break;					} catch (ClassFormatException e) {						throw new ClassFormatException("Invalid class file format for " +						        fileName + ":" + name + ": " + e.getMessage());					}				} else if (name.endsWith(".jar") || name.endsWith(".zip")) {					setZipStream(new ZipInputStream(zipFile.getInputStream(entry)), name);					parsedClass = getNextNestedClass();					if (parsedClass != null) {						break;					}				} else if (name.endsWith(".java"))					containsSourceFiles = true;			}			return parsedClass;		}