public static Class<? extends Plugin> forName(String pluginClassName) throws PluginException {
		try {

			List<Class<? extends Plugin>> classes = ClassSearcher.getClasses(Plugin.class);
			for (Class<? extends Plugin> plug : classes) {
				if (plug.getName().equals(pluginClassName)) {
					return plug;
				}
			}

			Class<?> tmpClass = Class.forName(pluginClassName);
			if (!Plugin.class.isAssignableFrom(tmpClass)) {
				throw new PluginException(
					"Class " + pluginClassName + " is not derived from Plugin");
			}
			return tmpClass.asSubclass(Plugin.class);
		}
		catch (ClassNotFoundException e) {
			throw new PluginException("Plugin class not found: " + pluginClassName);
		}
	}
Returns the Class for a Plugin, by class name.

@param pluginClassName String class name
@return Class that is a Plugin, never null.
@throws PluginException if specified class does not exist or is not a Plugin.
Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/util/PluginUtils.java