if (dependencies.size() == 0) it.remove();
	public void report() {		{	//Remove classes that don't have cycles			boolean changed = true;			while (changed) {				changed = false;				Iterator<Map.Entry<String, Set<String>>> it = dependencyGraph.entrySet().iterator();				while (it.hasNext()) {					Map.Entry<String, Set<String>> entry = it.next();					String clsName = entry.getKey();					Set<String> dependencies = entry.getValue();										boolean foundClass = false;					Iterator dit = dependencies.iterator();					while (dit.hasNext()) {						foundClass = dependencyGraph.containsKey(dit.next());						if (foundClass)							break;					}					if (!foundClass) {						it.remove();						changed = true;					}				}			}		}				{	//Remove references that are not roots			Iterator<Map.Entry<String, Set<String>>> it = dependencyGraph.entrySet().iterator();			while (it.hasNext()) {				Map.Entry<String, Set<String>> entry = it.next();				String clsName = entry.getKey();				Set<String> dependencies = entry.getValue();				Iterator dit = dependencies.iterator();				while (dit.hasNext()) {					if (!dependencyGraph.containsKey(dit.next()))						dit.remove();				}			}		}				Set<String> alreadyReported = new HashSet<String>();		Iterator<Map.Entry<String, Set<String>>> it = dependencyGraph.entrySet().iterator();		while (it.hasNext()) {			Map.Entry<String, Set<String>> entry = it.next();			String clsName = entry.getKey();			if (alreadyReported.contains(clsName))				continue;						alreadyReported.add(clsName);			Set<String> dependencies = entry.getValue();						BugInstance bug = new BugInstance(					this,					"CD_CIRCULAR_DEPENDENCY",					clsName.indexOf("$") >= 0 ? LOW_PRIORITY : NORMAL_PRIORITY)					.addClass(clsName);					    Iterator dit = dependencies.iterator();		    while (dit.hasNext()) {		    	clsName = (String)dit.next();		    	bug.addClass(clsName);		    	alreadyReported.add(clsName);		    }		    bugReporter.reportBug(bug);		}		dependencyGraph.clear();	}