/// <summary>
        /// Gets indexes for all nodes in the inner.
        /// </summary>
        public virtual ReadOnlyBrowsingBlockNodeIndexList AllIndexes()
        {
            ReadOnlyBrowsingBlockNodeIndexList Result = CreateBlockNodeIndexList();

            foreach (IReadOnlyBlockState BlockState in BlockStateList)
            {
                foreach (IReadOnlyPlaceholderNodeState NodeState in BlockState.StateList)
                {
                    IReadOnlyBrowsingBlockNodeIndex ParentIndex = NodeState.ParentIndex as IReadOnlyBrowsingBlockNodeIndex;
                    Debug.Assert(ParentIndex != null);

                    Result.Add(ParentIndex);
                }
            }

            return(Result);
        }