Fill fill = sb.createFill();
fill.setColor(null);
fill.setGraphicFill(sb.createGraphic(null, sb.createMark("square", null, sb.createStroke(2)), null));
// a polygon and line symbolizer using them
PolygonSymbolizer ps = sb.createPolygonSymbolizer(stroke, fill);
// rescale it
ps.accept(visitor);
PolygonSymbolizer rps = (PolygonSymbolizer) visitor.getCopy();
Mark rm = (Mark) rps.getStroke().getGraphicStroke().graphicalSymbols().get(0);
assertEquals(2.0, rm.getStroke().getWidth().evaluate(null, Double.class), 0d);
rm = (Mark) rps.getFill().getGraphicFill().graphicalSymbols().get(0);
assertEquals(4.0, rm.getStroke().getWidth().evaluate(null, Double.class), 0d);
// a line symbolizer that uses a graphic stroke
LineSymbolizer ls = sb.createLineSymbolizer(stroke);