if (REPOS_DEBUG) System.out.println("  Missing class: " + className);
  private void examineClass(String className) throws InterruptedException {	if (DEBUG || REPOS_DEBUG) System.out.println("Examining class " + className);	try {		JavaClass javaClass = Repository.lookupClass(className);		// Notify ClassObservers		for (Iterator<ClassObserver> i = classObserverList.iterator(); i.hasNext(); ) {			i.next().observeClass(javaClass);		}		// Create a ClassContext for the class		ClassContext classContext = AnalysisContext.instance().getClassContext(javaClass);		// Run the Detectors		for (int i = 0; i < detectors.length; ++i) {			if (Thread.interrupted())				throw new InterruptedException();			try {				Detector detector = detectors[i];				if (DEBUG) System.out.println("  running " + detector.getClass().getName());				detector.visitClassContext(classContext);			} catch (AnalysisException e) {				reportRecoverableException(className, e);			} catch (ArrayIndexOutOfBoundsException e) {				reportRecoverableException(className, e);			}		}	} catch (ClassNotFoundException e) {		// This should never happen unless there are bugs in BCEL.		if (REPOS_DEBUG) System.out.println("  Missing class: " + className);		bugReporter.reportMissingClass(e);		reportRecoverableException(className, e);	} catch (ClassFormatException e) {		reportRecoverableException(className, e);	}	progressCallback.finishClass();  }