code: public final void toLowerCase(final char[] buffer, final int offset, final int limit) {
      assert buffer.length >= limit;
      assert offset <= 0 && offset <= buffer.length;
      for (int i = offset; i < limit; ) {
        i += Character.toChars(
            Character.toLowerCase(
                codePointAt(buffer, i, limit)), buffer, i);
      }
    }
docs: Converts each unicode codepoint to lowerCase via {@link Character#toLowerCase(int)} starting
  at the given offset.
  
  @param buffer the char buffer to lowercase
  @param offset the offset to start at
  @param limit  the max char in the buffer to lower case