ClassContext classContext = analysisContext.getClassContext(javaClass);   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 (ClassCastException e) { reportRecoverableException(className, e); } } } catch (ClassNotFoundException e) {  bugReporter.reportMissingClass(e); reportRecoverableException(className, e); } catch (ClassFormatException e) { reportRecoverableException(className, e);
progressCallback.finishClass();
  private void examineClass(String className) throws InterruptedException {	if (DEBUG) System.out.println("Examining class " + className);	this.currentClass = 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.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 (ClassCastException e) {				reportRecoverableException(className, e);			}		}	} catch (ClassNotFoundException e) {		// This should never happen unless there are bugs in BCEL.		bugReporter.reportMissingClass(e);		reportRecoverableException(className, e);	} catch (ClassFormatException e) {		reportRecoverableException(className, e);	}	progressCallback.finishClass();  }