code: public void accept(final PainterVisitor visitor, final Object group, final Bbox bounds, boolean recursive) {
  		// Draw layer-specific stuff (see VectorLayerPainter)
  		visitor.visit(this, group);
  
  		// When visible, take care of fetching through an queryAndSync:
  		if (recursive && isShowing()) {
  			TileFunction<VectorTile> onDelete = new TileFunction<VectorTile>() {
  
  				// When deleting a tile, delete selected features from the paint !
  				public void execute(final VectorTile tile) {
  					visitor.remove(tile, group);
  				}
  			};
  			TileFunction<VectorTile> onUpdate = new TileFunction<VectorTile>() {
  
  				// Updating a tile, re-rendering it:
  				public void execute(VectorTile tile) {
  					tile.accept(visitor, group, bounds, true);
  				}
  			};
  			cache.queryAndSync(bounds, filter, onDelete, onUpdate);
  			// also re-render the selected features !
  			for (Feature feature : selectedFeatures.values()) {
  				visitor.visit(feature, group);
  			}
  
  		}
  	}
docs: -------------------------------------------------------------------------