/// <summary>
 /// 
 /// </summary>
 /// <param name="skin"></param>
 /// <returns></returns>
 public static PersistentSettingsManager Create(Rhino.Runtime.Skin skin)
 {
   System.Reflection.Assembly assembly = skin.GetType().Assembly;
   for (int i = 0; i < m_all_managers.Count; i++)
     if (m_all_managers[i].m_assembly == assembly)
       return m_all_managers[i];
   var ps = new PersistentSettingsManager(assembly, Guid.Empty);
   m_all_managers.Add(ps);
   return ps;
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="pluginId"></param>
 /// <returns></returns>
 public static PersistentSettingsManager Create(Guid pluginId)
 {
   for (int i = 0; i < m_all_managers.Count; i++)
     if (m_all_managers[i].m_plugin_id == pluginId)
       return m_all_managers[i];
   var ps = new PersistentSettingsManager(pluginId);
   m_all_managers.Add(ps);
   return ps;
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="plugin"></param>
 /// <returns></returns>
 public static PersistentSettingsManager Create(Rhino.PlugIns.PlugIn plugin)
 {
   Guid pluginId = plugin.Id;
   System.Reflection.Assembly assembly = plugin.GetType().Assembly;
   for (int i = 0; i < m_all_managers.Count; i++)
   {
     if (m_all_managers[i].m_assembly == assembly || m_all_managers[i].m_plugin_id == pluginId)
     {
       m_all_managers[i].m_assembly = assembly;
       return m_all_managers[i];
     }
   }
   var ps = new PersistentSettingsManager(assembly, pluginId);
   m_all_managers.Add(ps);
   return ps;
 }
 public static PersistentSettingsManager Create(Rhino.PlugIns.PlugIn plugin)
 {
   for (int i = 0; i < m_all_managers.Count; i++)
   {
     if (m_all_managers[i].m_assembly == plugin.Assembly)
     {
       m_all_managers[i].m_plugin = plugin;
       return m_all_managers[i];
     }
   }
   var ps = new PersistentSettingsManager(plugin);
   ps.m_plugin = plugin;
   m_all_managers.Add(ps);
   return ps;
 }