public void Add(WindowInformation information)
        {
            if (ReferenceEquals(information, null))
            {
                return;
            }

            _windows.TryAdd(information.Key, information);

            if (information.ParentKey != null)
            {
                var parent = Get(information.ParentKey);
                parent.DialogChildKey = information.Key;
            }
        }
        public void Remove(WindowInformation window)
        {
            WindowInformation info;

            _windows.TryRemove(window.Key, out info);

            if (!ReferenceEquals(info, null))
            {
                if (info.ParentKey != null)
                {
                    var parent = Get(info.ParentKey);

                    if (parent != null && ReferenceEquals(parent.DialogChildKey, info.Key))
                    {
                        parent.DialogChildKey = null;
                    }
                }
            }
        }