Set extra = new TreeSet();
Set<String> extra = new TreeSet<String>();
    public void compute() {	Set<String> allClasses = classRequires.keySet();	Set<String> emptyClasses = new TreeSet<String>();	for(Iterator i = allClasses.iterator(); i.hasNext(); ) {		String c = (String) i.next();		Set needs = (Set) classRequires.get(c);		needs.retainAll(allClasses);		Set extra = new TreeSet();		for(Iterator j = needs.iterator(); j.hasNext(); ) 			extra.addAll((Set)classRequires.get(j.next()));		needs.addAll(extra);		needs.retainAll(allClasses);		classRequires.put(c,needs);		if (needs.isEmpty()) emptyClasses.add(c);		}	for(Iterator i = emptyClasses.iterator(); i.hasNext(); ) {		String c = (String) i.next();		classRequires.remove(c);		}	}