public void processOtherPluginLoadedAnnotation(Plugin newPlugin) {

		for (Plugin plugin : this.pluginManager.getPluginRegistry().getAllPlugins()) {
			final PluginMetaInformation pmi = this.pluginManager.getPluginRegistry()
			        .getMetaInformationFor(plugin);

			for (PluginLoadedInformation pli : pmi.pluginLoadedInformation) {
				final Collection<? extends Plugin> plins = new PluginManagerUtil(this.pluginManager)
				        .getPlugins(pli.baseType);

				// Check if the new plugin is returned upon request
				if (plins.contains(newPlugin)) {
					try {
						pli.method.invoke(plugin, newPlugin);
					} catch (IllegalArgumentException e) {
						e.printStackTrace();
					} catch (IllegalAccessException e) {
						e.printStackTrace();
					} catch (InvocationTargetException e) {
						e.printStackTrace();
					}

					pli.calledWith.add(newPlugin);
				}
			}
		}
	}