public void visit(StyleInfo style) {
    // remove style references in layers
    List<LayerInfo> layers = catalog.getLayers();
    for (LayerInfo layer : layers) {
      removeStyleInLayer(layer, style);
    }

    // groups can also refer to style, reset each reference to the
    // associated layer default style
    List<LayerGroupInfo> groups = catalog.getLayerGroups();
    for (LayerGroupInfo group : groups) {
      removeStyleInLayerGroup(group, style);
    }

    // finally remove the style
    catalog.remove(style);
  }