Segment segment = new Segment();
Segment segment = getLineBuffer();
  public Shape modelToView(int position, Shape a, Position.Bias b)    throws BadLocationException  {    // Ensure metrics are up-to-date.    updateMetrics();        Document document = getDocument();    // Get rectangle of the line containing position.    int lineIndex = getElement().getElementIndex(position);    Rectangle rect = lineToRect(a, lineIndex);    // Get the rectangle for position.    Element line = getElement().getElement(lineIndex);    int lineStart = line.getStartOffset();    Segment segment = new Segment();    document.getText(lineStart, position - lineStart, segment);    int xoffset = Utilities.getTabbedTextWidth(segment, metrics, rect.x,					       this, lineStart);    // Calc the real rectangle.    rect.x += xoffset;    rect.width = 1;    rect.height = metrics.getHeight();    return rect;  }