condensed = null;
  public void addPoint(int x, int y)  {    if (npoints + 1 > xpoints.length)      {        int[] newx = new int[npoints + 1];        System.arraycopy(xpoints, 0, newx, 0, npoints);        xpoints = newx;      }    if (npoints + 1 > ypoints.length)      {        int[] newy = new int[npoints + 1];        System.arraycopy(ypoints, 0, newy, 0, npoints);        ypoints = newy;      }    xpoints[npoints] = x;    ypoints[npoints] = y;    npoints++;    if (bounds != null)      {        if (npoints == 1)          {            bounds.x = x;            bounds.y = y;          }        else          {            if (x < bounds.x)              {                bounds.width += bounds.x - x;                bounds.x = x;              }            else if (x > bounds.x + bounds.width)              bounds.width = x - bounds.x;            if (y < bounds.y)              {                bounds.height += bounds.y - y;                bounds.y = y;              }            else if (y > bounds.y + bounds.height)              bounds.height = y - bounds.y;          }      }    condensed = null;  }