private protected virtual ReadOnlyInnerReadOnlyDictionary <string> BuildInnerTable(ReadOnlyBrowseContext browseContext)
        {
            IReadOnlyNodeState State = browseContext.State;

            Debug.Assert(State.InnerTable == null);

            ReadOnlyIndexCollectionReadOnlyList IndexCollectionList = browseContext.IndexCollectionList;
            ReadOnlyInnerDictionary <string>    InnerTable          = CreateInnerTable();

            foreach (IReadOnlyIndexCollection NodeIndexCollection in IndexCollectionList)
            {
                string PropertyName = NodeIndexCollection.PropertyName;
                Debug.Assert(!InnerTable.ContainsKey(PropertyName));

                IReadOnlyInner Inner = BuildInner(State, NodeIndexCollection);
                InnerTable.Add(PropertyName, Inner);
            }

            if (InnerTable.Count > 0)
            {
                DebugObjects.AddReference(InnerTable);
            }

            return(InnerTable.ToReadOnly());
        }
 /// <inheritdoc/>
 public ReadOnlyInnerReadOnlyDictionary(ReadOnlyInnerDictionary <TKey> dictionary)
     : base(dictionary)
 {
 }