code: public BidiRun getParagraphByIndex(int paraIndex)
      {
          verifyValidParaOrLine();
          verifyRange(paraIndex, 0, paraCount);
  
          Bidi bidi = paraBidi;             /* get Para object if Line object */
          int paraStart;
          if (paraIndex == 0) {
              paraStart = 0;
          } else {
              paraStart = bidi.paras_limit[paraIndex - 1];
          }
          BidiRun bidiRun = new BidiRun();
          bidiRun.start = paraStart;
          bidiRun.limit = bidi.paras_limit[paraIndex];
          bidiRun.level = GetParaLevelAt(paraStart);
          return bidiRun;
      }
docs: Get a paragraph, given the index of this paragraph.
  
  This method returns information about a paragraph.<p>
  
  @param paraIndex is the number of the paragraph, in the
  range <code>[0..countParagraphs()-1]</code>.
  
  @return a BidiRun object with the details of the paragraph:<br>
  <code>start</code> will receive the index of the first character
  of the paragraph in the text.<br>
  <code>limit</code> will receive the limit of the paragraph.<br>
  <code>embeddingLevel</code> will receive the level of the paragraph.
  
  @throws IllegalStateException if this call is not preceded by a successful
  call to <code>setPara</code> or <code>setLine</code>
  @throws IllegalArgumentException if paraIndex is not in the range
  <code>[0..countParagraphs()-1]</code>
  
  @see android.icu.text.BidiRun