code: private void removeLowerCaseHomonymsForAbbreviations(AnalyzedSentence input) {
      AnalyzedTokenReadings[] tokens = input.getTokensWithoutWhitespace();
      for (int i = 1; i < tokens.length; i++) {
        if( StringUtils.isAllUpperCase(tokens[i].getToken())
            && PosTagHelper.hasPosTagPart(tokens[i], ":abbr") ) {
          
          List<AnalyzedToken> analyzedTokens = tokens[i].getReadings();
          for(int j=analyzedTokens.size()-1; j>=0; j--) {
            AnalyzedToken analyzedToken = analyzedTokens.get(j);
            
            if( ! PosTagHelper.hasPosTagPart(analyzedToken, ":abbr") 
                && ! JLanguageTool.SENTENCE_END_TAGNAME.equals(analyzedToken) ) {
              tokens[i].removeReading(analyzedToken);
            }
          }
        }
      }    
    }
docs: all uppercase mostly are abbreviations, e.g. "АТО" is not part/intj