@Override
public void draw(Graphics2D g2, float x, float y) {
AffineTransform at = AffineTransform.getTranslateInstance(x, y);
if (fStroke == STROKE){
Stroke oldStroke = g2.getStroke();
g2.setStroke(new BasicStroke());
g2.draw(at.createTransformedShape(fShape));
g2.setStroke(oldStroke);
} else {
g2.fill(at.createTransformedShape(fShape));