public void CloseModule(UIModule module) { var children = GetChildren(module); var count = children == null ? 0 : children.Count; logger.Debug($"{nameof(CloseModule)}: {module.Name}, children: {count}"); if (children != null && children.Any()) { foreach (var child in children) { logger.Debug($"RequestCloseModule: Child={child.Name}"); MessageBus.SendMessage(new CloseRequest(child)); } } logger.Debug($"{nameof(CloseModule)}: Remove/Close {module.Name}"); Remove(module); module.Close(); MessageBus.SendMessage(new CloseRequest(module)); }