private static boolean isComposingCharOrSurrogate(char c) {
        if (UCharacter.isHighSurrogate(c) || UCharacter.isLowSurrogate(c)) {
            return true;
        }
        return isComposingChar(c);
    }
Returns <code>true</code> if the argument is a composing BMP character 
or a surrogate and <code>false</code> otherwise.

@param c a UTF-16 code unit
@return <code>true</code> if the argument is a composing BMP character 
or a surrogate and <code>false</code> otherwise
src/nu/validator/checker/NormalizationChecker.java