code: public static boolean isTypeOrArrayOfType(ClassNode targetType, ClassNode type, boolean recurse) {
          if (targetType == null) return false;
          return type.equals(targetType) ||
                  (targetType.isArray() && recurse
                  ? isTypeOrArrayOfType(targetType.getComponentType(), type, recurse)
                  : type.equals(targetType.getComponentType()));
      }
docs: Determine if a type matches another type (or array thereof).
  
  @param targetType the candidate type
  @param type the type we are checking against
  @param recurse true if we can have multi-dimension arrays; should be false for annotation member types
  @return true if the type equals the targetType or array thereof