JDK 5.0 supports Unicode 4.0, in which the "supplementary" characters are encoded with two consecutive char values.
5.0
1.4
int cp = string.codePointAt(i)
char cp = string.charAt(i)
if (Character.isSupplementaryCharacter(cp)) ...
omit there are no supplementary characters prior to JDK 5.0