public void loadPlugin(GoPluginBundleDescriptor bundleDescriptor) {
        for (GoPluginDescriptor pluginDescriptor : bundleDescriptor.descriptors()) {
            if (idToDescriptorMap.containsKey(pluginDescriptor.id().toLowerCase())) {
                throw new RuntimeException("Found another plugin with ID: " + pluginDescriptor.id());
            }
        }

        for (GoPluginDescriptor pluginDescriptor : bundleDescriptor.descriptors()) {
            idToDescriptorMap.put(pluginDescriptor.id().toLowerCase(), pluginDescriptor);
        }
    }
@Test
    void shouldNotLoadPluginIfThereIsOneMorePluginWithTheSameIDAndDifferentCase() {
        GoPluginBundleDescriptor descriptor = new GoPluginBundleDescriptor(GoPluginDescriptor.builder().id("id1").isBundledPlugin(true).build());
        registry.loadPlugin(descriptor);

        GoPluginBundleDescriptor secondPluginBundleDescriptor = new GoPluginBundleDescriptor(GoPluginDescriptor.builder().id("iD1").isBundledPlugin(true).build());

        assertThatCode(() -> registry.loadPlugin(secondPluginBundleDescriptor))
                .isInstanceOf(RuntimeException.class);
    }