++numAdded;
  private void addFileToRepository(ClassProducer classProducer, List<String> repositoryClassList)	throws IOException, InterruptedException {     String fileName = classProducer.getFileName();     if (REPOS_DEBUG) System.out.println("Scanning " + fileName);     int numAdded = 0;     try {	// Load all referenced classes into the Repository	for (;;) {		if (Thread.interrupted())			throw new InterruptedException();		try {			JavaClass jclass = classProducer.getNextClass();			if (jclass == null)				break;			Repository.addClass(jclass);			++numAdded;			repositoryClassList.add(jclass.getClassName());		} catch (ClassFormatException e) {			e.printStackTrace();			bugReporter.logError(e.getMessage());		}	}	if (REPOS_DEBUG) System.out.println("  Added " + numAdded + " classes to repository");	progressCallback.finishArchive();	// If the archive or directory scanned contained source files,	// add it to the end of the source path.	if (classProducer.containsSourceFiles())		project.addSourceDir(fileName);     } catch (IOException e) {	// You'd think that the message for a FileNotFoundException would include	// the filename, but you'd be wrong.  So, we'll add it explicitly.	throw new IOException("Could not analyze " + fileName + ": " + e.getMessage());     }  }