public void installExtensions(ComponentContainer container) {
ListMultimap<PluginMetadata, Object> installedExtensionsByPlugin = ArrayListMultimap.create();
for (PluginMetadata pluginMetadata : pluginRepository.getMetadata()) {
Plugin plugin = pluginRepository.getPlugin(pluginMetadata.getKey());
container.addExtension(pluginMetadata, plugin);
for (Object extension : plugin.getExtensions()) {
if (installExtension(container, pluginMetadata, extension, true) != null) {
installedExtensionsByPlugin.put(pluginMetadata, extension);
} else {
container.declareExtension(pluginMetadata, extension);
}