private static void handleFourBytes(byte byte1, byte byte2, byte byte3, byte byte4, char[] resultArr,
                                            int resultPos) {
            if (isNotTrailingByte(byte2)
                // Check that 1 <= plane <= 16.  Tricky optimized form of:
                //   valid 4-byte leading byte?
                // if (byte1 > (byte) 0xF4 ||
                //   overlong? 4 most significant bits must not all be zero
                //     byte1 == (byte) 0xF0 && byte2 < (byte) 0x90 ||
                //   codepoint larger than the highest code point (U+10FFFF)?
                //     byte1 == (byte) 0xF4 && byte2 > (byte) 0x8F)
                || (((byte1 << 28) + (byte2 - (byte) 0x90)) >> 30) != 0 || isNotTrailingByte(byte3)
                || isNotTrailingByte(byte4)) {
                throw invalidUtf8();
            }
            int codePoint = ((byte1 & 0x07) << 18) | (trailingByteValue(byte2) << 12) | (trailingByteValue(byte3) << 6)
                            | trailingByteValue(byte4);
            resultArr[resultPos] = DecodeUtil.highSurrogate(codePoint);
            resultArr[resultPos + 1] = DecodeUtil.lowSurrogate(codePoint);
        }
Returns whether this is a three-byte codepoint with the form '110XXXXX'.
jraft-core/src/main/java/com/alipay/sofa/jraft/util/internal/UnsafeUtf8Util.java