code: public void accept(PainterVisitor visitor, Object group, Bbox bounds, boolean recursive) {
  		// Paint the MapModel itself (see MapModelPainter):
  		visitor.visit(this, group);
  
  		// Paint the layers:
  		if (recursive) {
  			for (Layer<?> layer : layers) {
  				if (layer.isShowing()) {
  					layer.accept(visitor, group, bounds, recursive);
  				} else {
  					// JDM: paint the top part of the layer, if not we loose the map order
  					layer.accept(visitor, group, bounds, false);
  				}
  			}
  		}
  
  		// Paint the editing of a feature (if a feature is being edited):
  		if (featureEditor.getFeatureTransaction() != null) {
  			featureEditor.getFeatureTransaction().accept(visitor, group, bounds, recursive);
  		}
  	}
docs: Paintable implementation. First let the PainterVisitor paint this object, then if recursive is true, painter the
  layers in order.