featureInfoListener.setGraphics(graphics);
featureInfoListener.setRenderer(renderer);
renderer.addRenderListener(featureInfoListener);
}
};
rim.produceMap(mc);
List<SimpleFeature> features = featureInfoListener.getFeatures();
return aggregateByFeatureType(features);
} finally {
mc.dispose();