question: private boolean isBeforeDot ( char s [ ] , int pos , int len ) { for ( int i = pos ; i < len ; ) { final int ch = Character . codePointAt ( s , i , len ) ; if ( Character . getType ( ch ) != Character . NON_SPACING_MARK ) return false ; if ( ch == COMBINING_DOT_ABOVE ) return true ; i += Character . charCount ( ch ) ; } return false ; }
target:  lookahead for a combining dot above. other NSMs may be in between.