code: private static int utf8Read4(int cu1, int cu2, int cu3, int cu4) {
      if ((cu2 & 0xC0) != 0x80) {
        return INVALID;
      }
      if (cu1 == 0xF0 && cu2 < 0x90) {
        return INVALID; // overlong
      }
      if (cu1 == 0xF4 && cu2 >= 0x90) {
        return INVALID; // > U+10FFFF
      }
      if ((cu3 & 0xC0) != 0x80) {
        return INVALID;
      }
      if ((cu4 & 0xC0) != 0x80) {
        return INVALID;
      }
      return (cu1 << 18) + (cu2 << 12) + (cu3 << 6) + cu4 - 0x3C82080;
    }
docs: Read a 4 byte UTF8 sequence.
  
  @return the resulting code point or {@link #INVALID} if invalid.