/// <summary> /// Recursively add a reference to the global M and to all sub-controls /// </summary> /// <typeparam name="M"></typeparam> /// <param name="controlStorage"></param> internal static void PropagateMain <M>(this IStorageControl <M> controlStorage, M main) where M : new() { controlStorage.Main = main; foreach (IStorageControl <M> subcontrol in controlStorage.Subcontrols()) { subcontrol.PropagateMain(main); } }