return WIND_EVEN_ODD;
return WIND_NON_ZERO;
  public PathIterator getPathIterator(final AffineTransform at)  {    final double minx = getX();    final double miny = getY();    final double maxx = minx + getWidth();    final double maxy = miny + getHeight();    return new PathIterator()    {      /** Current coordinate. */      private int current = (maxx >= minx && maxy >= miny) ? 6 : 0;      public int getWindingRule()      {        return WIND_EVEN_ODD;      }      public boolean isDone()      {        return current > 5;      }      public void next()      {        current++;      }      public int currentSegment(float[] coords)      {        switch (current)          {          case 1:            coords[0] = (float) maxx;            coords[1] = (float) miny;            break;          case 2:            coords[0] = (float) maxx;            coords[1] = (float) maxy;            break;          case 3:            coords[0] = (float) minx;            coords[1] = (float) maxy;            break;          case 0:          case 4:            coords[0] = (float) minx;            coords[1] = (float) miny;            break;          case 5:            return SEG_CLOSE;          default:            throw new NoSuchElementException("rect iterator out of bounds");          }        if (at != null)          at.transform(coords, 0, coords, 0, 1);        return current == 0 ? SEG_MOVETO : SEG_LINETO;      }      public int currentSegment(double[] coords)      {        switch (current)          {          case 1:            coords[0] = maxx;            coords[1] = miny;            break;          case 2:            coords[0] = maxx;            coords[1] = maxy;            break;          case 3:            coords[0] = minx;            coords[1] = maxy;            break;          case 0:          case 4:            coords[0] = minx;            coords[1] = miny;            break;          case 5:            return SEG_CLOSE;          default:            throw new NoSuchElementException("rect iterator out of bounds");          }        if (at != null)          at.transform(coords, 0, coords, 0, 1);        return current == 0 ? SEG_MOVETO : SEG_LINETO;      }    };  }