private boolean matchPreservesCase ( List < Match > suggestionMatches , String msg ) { if ( suggestionMatches != null && ! suggestionMatches . isEmpty ( ) ) { //PatternRule rule = (PatternRule) this.rule; int sugStart = msg . indexOf ( SUGGESTION_START_TAG ) + SUGGESTION_START_TAG . length ( ) ; for ( Match sMatch : suggestionMatches ) { if ( ! sMatch . isInMessageOnly ( ) && sMatch . convertsCase ( ) && msg . charAt ( sugStart ) == ' ' ) { return false ; } } } return true ; }
Checks if the suggestion starts with a match that is supposed to preserve case . If it does not perform the default conversion to uppercase .