private List<PluginDescription> getPluginDescriptions(Set<Class<?>> plugins) {

		// First define the list of plugin descriptions to return
		List<PluginDescription> descriptions = new ArrayList<>();

		// Get all plugins that have been loaded
		PluginsConfiguration pluginsConfiguration = tool.getPluginsConfiguration();
		List<PluginDescription> allPluginDescriptions =
			pluginsConfiguration.getManagedPluginDescriptions();

		// see if an entry exists in the list of all loaded plugins
		for (Class<?> plugin : plugins) {
			String pluginName = plugin.getSimpleName();

			Optional<PluginDescription> desc = allPluginDescriptions.stream()
					.filter(d -> (pluginName.equals(d.getName())))
					.findAny();
			if (desc.isPresent()) {
				descriptions.add(desc.get());
			}
		}

		return descriptions;
	}
Finds all {@link PluginDescription} objects that match a given set of plugin classes. This
effectively tells the caller which of the given plugins have been loaded by the class loader.
<p>
Note that this method does not take path/package information into account when finding
plugins; in the example above, if there is more than one plugin with the name "FooPlugin",
only one will be found (the one found is not guaranteed to be the first).

@param plugins the list of plugin classes to search for
@return list of plugin descriptions
Ghidra/Framework/Project/src/main/java/ghidra/framework/project/tool/ExtensionManager.java