docs: public static boolean regionMatchesIgnoreCase(
        CharSequence a, int aoffset, CharSequence b, int boffset, int n) {
      if (aoffset + n > a.length() || boffset + n > b.length()) { return false; }
      for (int i = n; --i >= 0;) {
        char c = a.charAt(aoffset + i), d = b.charAt(boffset + i);
        if (c != d) {
          if (c <= 'z' && c >= 'A') {
            if (c <= 'Z') { c |= 0x20; }
            if (d <= 'Z' && d >= 'A') { d |= 0x20; }
            if (c == d) { continue; }
          }
          return false;
        }
      }
      return true;
    }