if (isSuperType(type, superInterfaces[i])) {
if (isSuperType(type, superInterfaces[i].getErasure())) {
	public static boolean isSuperType(ITypeBinding type, ITypeBinding candidate) {		if (candidate.isArray() || candidate.isPrimitive()) {			return false;		}		if (Bindings.equals(candidate, type)) {			return true;		}		ITypeBinding superClass= candidate.getSuperclass();		if (superClass != null) {			if (isSuperType(type, superClass)) {				return true;			}		}				if (type.isInterface()) {			ITypeBinding[] superInterfaces= candidate.getInterfaces();			for (int i= 0; i < superInterfaces.length; i++) {				if (isSuperType(type, superInterfaces[i])) {					return true;				}						}		}		return false;	}