} catch (IOException e) {   throw new IOException("Could not analyze " + fileName + ": " + e.getMessage()); }
  private void addFileToRepository(String fileName, List<String> repositoryClassList)	throws IOException, InterruptedException {	if (fileName.endsWith(".jar") || fileName.endsWith(".zip")) {		ZipFile zipFile = new ZipFile(fileName);		Enumeration entries = zipFile.entries();		while (entries.hasMoreElements()) {			if (Thread.interrupted())				throw new InterruptedException();			ZipEntry entry = (ZipEntry) entries.nextElement();			String entryName = entry.getName();			if (entryName.endsWith(".class")) {				InputStream in = zipFile.getInputStream(entry);				JavaClass javaClass = new ClassParser(in, entryName).parse();				Repository.addClass(javaClass);				repositoryClassList.add(javaClass.getClassName());			}		}	} else {		if (Thread.interrupted())			throw new InterruptedException();		JavaClass javaClass = new ClassParser(fileName).parse();		Repository.addClass(javaClass);		repositoryClassList.add(javaClass.getClassName());	}	progressCallback.finishArchive();  }