code: @Override
    public final ProofreadingResult doProofreading(String docID,
        String paraText, Locale locale, int startOfSentencePos,
        int nSuggestedBehindEndOfSentencePosition,
        PropertyValue[] propertyValues) {
      ProofreadingResult paRes = new ProofreadingResult();
      paRes.nStartOfSentencePosition = startOfSentencePos;
      paRes.nStartOfNextSentencePosition = nSuggestedBehindEndOfSentencePosition;
      paRes.nBehindEndOfSentencePosition = paRes.nStartOfNextSentencePosition;
      paRes.xProofreader = this;
      paRes.aLocale = locale;
      paRes.aDocumentIdentifier = docID;
      paRes.aText = paraText;
      paRes.aProperties = propertyValues;
      try {
        int[] footnotePositions = getPropertyValues("FootnotePositions", propertyValues);  // since LO 4.3
        paRes = documents.getCheckResults(paraText, locale, paRes, footnotePositions);
        if (disabledRules == null) {
          prepareConfig();
        }
        if(documents.doResetCheck()) {
          resetCheck();
          documents.optimizeReset();
        }
      } catch (Throwable t) {
        MessageHandler.showError(t);
      }
      return paRes;
    }
docs: Runs the grammar checker on paragraph text.
  
  @param docID document ID
  @param paraText paragraph text
  @param locale Locale the text Locale
  @param startOfSentencePos start of sentence position
  @param nSuggestedBehindEndOfSentencePosition end of sentence position
  @return ProofreadingResult containing the results of the check.