private Plugin dependency_check(Plugin plugin) { string plug; ArrayList plugins = plugin.dependencies; foreach(Object obj in plugins) { plug = (string)obj; if(this._plugins.ContainsKey(plug)) { plugin.link_dependency(this._plugins[plug]); } else { throw new Exception("Dependency check failed. Missing plugin ("+plug+")"); } } return plugin; }