public static String toCapitalCase(String value) {
        if (LangUtils.isBlank(value)) {
            return Constants.EMPTY_STRING;
        }

        // split on unicode uppercase characters
        String[] values = CAPITAL_CASE.split(value);
        if (values.length > 0) {
            values[0] = values[0].substring(0 , 1).toUpperCase() + values[0].substring(1).toLowerCase();
        }
        return String.join(" ", values);
    }
Converts a sting to capital case even counting Unicode characters.
<pre>
thisIsMyString = This Is My String
ThisIsATest = This Is A Test
helloWorld = Hello World
</pre>

@param value the value to capital case
@return the returned value in capital case or empty string if blank
primefaces/src/main/java/org/primefaces/util/LangUtils.java