Description
Simple testcase:
assertEquals("\uD801\uDC44", "\uD801\uDC1C".toLowerCase());
Looking at modules/luni/src/main/java/java/lang/String.java, the problem is these methods iterate code units (char) not codepoints (int),
and use Character.toLowerCase(char) and Character.toUpperCase(char), instead of Character.toLowerCase(int), and Character.toUpperCase(int)