docs: public static String toCamelCase(String str) {
          return new WordTokenizer() {
              @Override
              protected void startSentence(StringBuilder buffer, char ch) {
                  buffer.append(Character.toLowerCase(ch));
              }
  
              @Override
              protected void startWord(StringBuilder buffer, char ch) {
                  if (!isDelimiter(buffer.charAt(buffer.length() - 1))) {
                      buffer.append(Character.toUpperCase(ch));
                  } else {
                      buffer.append(Character.toLowerCase(ch));
                  }
              }
  
              @Override
              protected void inWord(StringBuilder buffer, char ch) {
                  buffer.append(Character.toLowerCase(ch));
              }
  
              @Override
              protected void startDigitSentence(StringBuilder buffer, char ch) {
                  buffer.append(ch);
              }
  
              @Override
              protected void startDigitWord(StringBuilder buffer, char ch) {
                  buffer.append(ch);
              }
  
              @Override
              protected void inDigitWord(StringBuilder buffer, char ch) {
                  buffer.append(ch);
              }
  
              @Override
              protected void inDelimiter(StringBuilder buffer, char ch) {
                  if (ch != UNDERSCORE) {
                      buffer.append(ch);
                  }
              }
          }.parse(str);
      }