code: private static boolean containsIgnoreCase(String str, String searchStr) {
      if (str == null || searchStr == null) {
        return false;
      }
      int len = searchStr.length();
      int max = str.length() - len;
      for (int i = 0; i <= max; i++) {
        if (str.regionMatches(true, i, searchStr, 0, len)) {
          return true;
        }
      }
      return false;
    }
docs: Copied from Apache Commons Lang {@code StringUtils#containsIgnoreCase(String, String)}