code: private void setArc(int x, int y, int width, int height, int startAngle, 
              int arcAngle) {
          if (this.arc == null) {
              this.arc = new Arc2D.Double(x, y, width, height, startAngle, 
                      arcAngle, Arc2D.PIE);
          } else {
              this.arc.setArc(x, y, width, height, startAngle, arcAngle, 
                      Arc2D.PIE);
          }        
      }
docs: Sets the attributes of the reusable {@link Arc2D} object that is used by
  {@link #drawArc(int, int, int, int, int, int)} and
  {@link #fillArc(int, int, int, int, int, int)} methods.
  
  @param x  the x-coordinate.
  @param y  the y-coordinate.
  @param width  the width.
  @param height  the height.
  @param startAngle  the start angle in degrees, 0 = 3 o'clock.
  @param arcAngle  the angle (anticlockwise) in degrees.