class UkrainianUppercaseSentenceStartRule extends UppercaseSentenceStartRule {

  private static final Pattern PATTERN = Pattern.compile("[а-яіїєґ]");

  public UkrainianUppercaseSentenceStartRule(ResourceBundle messages, Language language, IncorrectExample incorrectExample, CorrectExample correctExample) {
    super(messages, language, incorrectExample, correctExample);
  }

  @Override
  protected boolean isException(AnalyzedTokenReadings[] tokens, int tokenIdx) {<FILL_FUNCTION_BODY>}

}

    // list, e.g. а) б) в)
    if( tokenIdx == 1 && tokenIdx < tokens.length-1
        && PATTERN.matcher(tokens[tokenIdx].getCleanToken()).matches()
        && tokens[tokenIdx+1].getToken().equals(")") )
      return true;
    
    return false;
  
<methods>public void <init>(java.util.ResourceBundle, org.languagetool.Language, org.languagetool.rules.IncorrectExample, org.languagetool.rules.CorrectExample) ,public void <init>(java.util.ResourceBundle, org.languagetool.Language, org.languagetool.rules.IncorrectExample, org.languagetool.rules.CorrectExample, java.net.URL) ,public void <init>(java.util.ResourceBundle, org.languagetool.Language) ,public final java.lang.String getDescription() ,public final java.lang.String getId() ,public org.languagetool.rules.RuleMatch[] match(List<org.languagetool.AnalyzedSentence>) throws java.io.IOException,public int minToCheckParagraph() <variables>private static final java.util.regex.Pattern CONTAINS_DIGIT,private static final java.util.regex.Pattern DIGIT_DOT,private static final Set<java.lang.String> EXCEPTIONS,private static final java.util.regex.Pattern LINEBREAK_DIGIT_DOT,private static final java.util.regex.Pattern NUMERALS_EN,private static final java.util.regex.Pattern SENTENCE_END1,private static final java.util.regex.Pattern WHITESPACE_OR_QUOTE,private final non-sealed org.languagetool.Language language