guava/src/com/google/common/base/Ascii.java
public static String toLowerCase(CharSequence chars) {
    if (chars instanceof String) {
      return toLowerCase((String) chars);
    }
    char[] newChars = new char[chars.length()];
    for (int i = 0; i < newChars.length; i++) {
      newChars[i] = toLowerCase(chars.charAt(i));
    }
    return String.valueOf(newChars);
  }
public static String toLowerCase(CharSequence chars) {
    if (chars instanceof String) {
      return toLowerCase((String) chars);
    }
    char[] newChars = new char[chars.length()];
    for (int i = 0; i < newChars.length; i++) {
      newChars[i] = toLowerCase(chars.charAt(i));
    }
    return String.valueOf(newChars);
  }
Returns a copy of the input character sequence in which all {@linkplain #isUpperCase(char)
uppercase ASCII characters} have been converted to lowercase. All other characters are copied
without modification.

@since 14.0