@Override
public Dimension render(Graphics2D graphics)
{
Arc2D.Float arc = new Arc2D.Float(Arc2D.PIE);
arc.setAngleStart(90);
arc.setAngleExtent(progress * 360);
arc.setFrame(position.getX() - diameter / 2, position.getY() - diameter / 2, diameter, diameter);
graphics.setColor(fill);
graphics.fill(arc);
graphics.setStroke(stroke);
graphics.setColor(borderColor);
graphics.drawOval(position.getX() - diameter / 2, position.getY() - diameter / 2, diameter, diameter);
return new Dimension(diameter, diameter);
}