/// <summary>Insert M copies of each of N versioned instances B.</summary>
        private void InsertRecordsB(Context context)
        {
            var db         = GetDb(context);
            var collection = db.GetCollection <B>("B");

            if (false)
            {
                var indexOptions = new CreateIndexOptions();
                var indexKeys    = Builders <B> .IndexKeys.Descending(p => p.DataSet).Descending(p => p.Id);

                var indexModel = new CreateIndexModel <B>(indexKeys, indexOptions);
                collection.Indexes.CreateOne(indexModel);
            }
            if (true)
            {
                var indexOptions = new CreateIndexOptions();
                var indexKeys    = Builders <B> .IndexKeys.Ascending(p => p.KeyElement).Descending(p => p.DataSet).Descending(p => p.Id);

                var indexModel = new CreateIndexModel <B>(indexKeys, indexOptions);
                collection.Indexes.CreateOne(indexModel);
            }
            if (true)
            {
                var indexOptions = new CreateIndexOptions();
                var indexKeys    = Builders <B> .IndexKeys
                                   .Ascending(p => p.StringElement1)
                                   .Ascending(p => p.StringElement2)
                                   .Ascending(p => p.DoubleElement)
                                   .Ascending(p => p.IntElement)
                                   // .Ascending(p => p.KeyElement)
                                   .Descending(p => p.DataSet).Descending(p => p.Id);

                var indexModel = new CreateIndexModel <B>(indexKeys, indexOptions);
                collection.Indexes.CreateOne(indexModel);
            }

            List <B> records = new List <B>();

            for (int dataSetIndex = 0; dataSetIndex < dataSetCount_; ++dataSetIndex)
            {
                TemporalId dataSet = TemporalId.Next();
                for (int versionIndex = 0; versionIndex < versionCount_; ++versionIndex)
                {
                    for (int recordIndex = 0; recordIndex < recordCount_; ++recordIndex)
                    {
                        var rec = new B();
                        rec.Id             = TemporalId.Next();
                        rec.DataSet        = dataSet;
                        rec.KeyElement     = String.Concat("KeyPrefix", recordIndex);
                        rec.StringElement1 = (recordIndex % 2).ToString();
                        rec.StringElement2 = (recordIndex % 3).ToString();
                        rec.DoubleElement  = recordIndex;
                        rec.IntElement     = recordIndex;
                        if (arraySize_ > 0)
                        {
                            rec.ArrayElement = new List <double>();
                            for (int i = 0; i < arraySize_; ++i)
                            {
                                rec.ArrayElement.Add(i);
                            }
                        }
                        rec.VersionElement = versionIndex;
                        records.Add(rec);
                    }
                }
            }
            collection.InsertMany(records);

            context.Log.Verify($"Inserted {records.Count} record versions.");
        }