new Thread(new Runnable() { public void run() {  ArrayList<BClass> notCompiled = new ArrayList<BClass>(); try { for (BPackage bp : bluej.getCurrentPackage().getProject().getPackages()) for (BClass bc : bp.getClasses()) if (!bc.isCompiled()) notCompiled.add(bc);  if (notCompiled.size() > 0) {  StringBuffer msg = new StringBuffer(); msg.append("The following class" + (notCompiled.size() == 1 ? " is " : "es are ") + "not compiled:"); for (BClass bc : notCompiled) msg.append(bc.getName() + "\n"); msg.append("\nCompile before running FindBugs?"); switch (JOptionPane.showConfirmDialog(null, msg)) { case JOptionPane.YES_OPTION: for (BPackage bp : bluej.getCurrentPackage().getProject().getPackages()) bp.compileAll(true); break; case JOptionPane.NO_OPTION:  break; case JOptionPane.CANCEL_OPTION: return; } }  getAllClassesAndRun(); } catch (Exception e) { Log.recordBug(e); } } });
	public void compileSucceeded(CompileEvent arg0)	{		// TODO Auto-generated method stub			}