parent = getParent(); r =  parent.modelToView(pos, a, b).getBounds(); ret = parent.viewToModel(r.x + r.width, r.y + r.height, a, biasRet);
  public int getNextVisualPositionFrom(int pos, Position.Bias b,                                       Shape a, int d,                                                Position.Bias[] biasRet)    throws BadLocationException  {    int ret = pos;    switch (d)    {      case WEST:        ret = pos - 1;        break;      case EAST:        ret = pos + 1;        break;      case NORTH:        // TODO: Implement this        break;      case SOUTH:        // TODO: Implement this        break;      default:        throw new IllegalArgumentException("Illegal value for d");    }    return ret;  }