}   for (Iterator i = type.getDirectSupertypes(); i.hasNext(); ) { ResolvedTypeX superType = (ResolvedTypeX)i.next(); if (matchesSubtypes(superType)) return true;
} Class superClass = toMatch.getSuperclass(); if (superClass != null) { return matchesSubtypes(superClass);
	protected boolean matchesSubtypes(ResolvedTypeX type) {		//System.out.println("matching: " + this + " to " + type);		if (matchesExactly(type)) {			//System.out.println("    true");			return true;		}				// FuzzyBoolean ret = FuzzyBoolean.NO; // ??? -eh		for (Iterator i = type.getDirectSupertypes(); i.hasNext(); ) {			ResolvedTypeX superType = (ResolvedTypeX)i.next();			if (matchesSubtypes(superType)) return true;		}		return false;	}