Graphics2D copy = (Graphics2D) destination.create();
// final NonDisposableGraphics graphics = new NonDisposableGraphics(copy);
try {
if (!l.getLayer().isVisible())
continue;
MapGraphic mg = l.getGeoResource().resolve(MapGraphic.class, null);
MapGraphicContext mgContext = new MapGraphicContextImpl(l, destination);
mg.draw(mgContext);
} catch (IOException e) {
exceptions.add(e);
} finally {
copy.dispose();
}