class ZeroUtil {

  public static boolean references(TypeName type, TypeVariableName test) {
    if (!maybeTypevars(type)) {
      return false;
    }
    if (type instanceof TypeVariableName
        && ((TypeVariableName) type).bounds.isEmpty()) {
      return type.equals(test);
    }
    TypeWalk walk = new TypeWalk(type);
    while (walk.hasNext()) {
      if (walk.next().equals(test)) {
        return true;
      }
    }
    return false;
  }

  private  ZeroUtil();

}