///<inheritdoc cref="IInitializable"/>
        public void Initialize()
        {
            if (!_isInitialized)
            {
                if (!_questTree.IsInitialized())
                {
                    _questTree.Initialize();
                }
                Quest topRoot = _questTree.Root;
                if (topRoot.Children == null)
                {
                    _questTree.LoadChildren(topRoot);
                }
                _parent   = topRoot;
                _children = HandleChildren(_parent.Children);

                _isInitialized = true;
            }
        }