ae.initCause(ex); throw ae;
  public float getPartialSpan(int p0, int p1)  {    Element el = getElement();    Document doc = el.getDocument();    Segment seg = new Segment();    try      {        doc.getText(p0, p1 - p0, seg);      }    catch (BadLocationException ex)      {        throw new AssertionError("BadLocationException must not be thrown "                                 + "here");      }    FontMetrics fm = null; // Fetch font metrics somewhere.    return Utilities.getTabbedTextWidth(seg, fm, 0, null, p0);  }