PluginManager.getInOut().message(message);  PluginManager.getContainer().removePlugin(getIdentifier());
throw new PluginLogicException(this, message);
	private Plugin load() throws PluginLogicException {		if (!isActivated()) return null;				// check dependency		Iterator it = depList.iterator();		while (it.hasNext()) {			try {				Dependency dep = (Dependency) it.next();				Plugin plg = PluginManager.getContainer().getPlugin(dep.pluginId);				if (plg == null || plg.getVersion().compareTo(dep.version) < 0) {					String message =						"Das Plugin '"+getName()+"' verlangt das Plugin '" +						dep.pluginId + "' V" + dep.version + ". Dieses kann jedoch " +						"nicht gefunden werden. Das Plugin wird deshalb deaktiviert.";										PluginManager.getInOut().message(message);										PluginManager.getContainer().removePlugin(getIdentifier());				}			} catch (RuntimeException e) {				throw new PluginLogicException(this, "unknown plugin runtime exception", e);			}		}				// load plugin		try {			Class clazz = Class.forName(getSource());			Object obj = clazz.newInstance();			if (obj instanceof Plugin) {				Plugin ap = (Plugin) obj;								// set attributes				try {					ap.setIdentifier(getIdentifier());					ap.setName(getName());					ap.setDescription(getDescription());					ap.setRequestedSystemVersion(getRequestedSystemVersion());				} catch (RuntimeException e) {					throw new PluginLogicException(this, "unknown plugin runtime exception", e);				}								// replace plugin				PluginManager.getContainer().replacePlugin(getName(), ap);								// add properties				Iterator it2 = props.keySet().iterator();				while (it2.hasNext()) {					String key = it2.next().toString();					Collection coll = (Collection)props.get(key);					String[] values = new String[coll.size()];					Iterator it3 = coll.iterator();					int index = 0;					while (it3.hasNext()) {						values[index++] = it3.next().toString();					}					try {						ap.addPropertie(key, values);					} catch (RuntimeException e) {						throw new PluginLogicException(this, "unknown plugin runtime exception", e);					}				}				return ap;			} else {				throw new PluginLogicException(this, "source does not implements the interface 'Plugin'");			}		} catch (ClassNotFoundException e) {			throw new PluginLogicException(this, "source does not exist", e);		} catch (InstantiationException e) {			throw new PluginLogicException(this, "unable to instantiate plugin", e);		} catch (IllegalAccessException e) {			throw new PluginLogicException(this, "source access permitted", e);		}	}