public override void Dispose()
{
if (!disposed){
disposed = true;
foreach (ContactPluginData plugin in plugins){
try{
if (plugin.contact_plugin != null)
plugin.contact_plugin.Terminate();
}
catch (Exception e){
Utils.PluginLog(PluginManagerName(), "Error terminating a plugin: " + e.Message);
}
}
}
GC.SuppressFinalize(this);
}