text: public int compareTo(CharBuffer otherBuffer) {int compareRemaining = (remaining() < otherBuffer.remaining()) ? remaining(): otherBuffer.remaining();int thisPos = position;int otherPos = otherBuffer.position;char thisByte, otherByte;while (compareRemaining > 0) {thisByte = get(thisPos);otherByte = otherBuffer.get(otherPos);if (thisByte != otherByte) {return thisByte < otherByte ? -1 : 1;}thisPos++;otherPos++;compareRemaining--;}return remaining() - otherBuffer.remaining();}