public void RemoveRight()
        {         //****************************************
            var Seed   = Environment.TickCount;
            var Random = new Random(Seed);
            //****************************************

            var Dictionary = new Dictionary <int, int>(1024);

            foreach (var(Left, Right) in YieldRandom(Random, 1024))
            {
                Dictionary.Add(Left, Right);
            }

            var Records = BiDictionary.FromInverse(Dictionary);

            //****************************************

            for (var Index = 0; Index < 512; Index++)
            {
                var InnerIndex = Random.Next(Records.Count);

                var Key = Records.Rights[InnerIndex];

                Assert.IsTrue(Records.Inverse.Remove(Key));
                Assert.IsTrue(Dictionary.Remove(Key));
            }

            //****************************************

            Assert.AreEqual(512, Records.Count, "Count incorrect. Bad Seed was {0}", Seed);

            CollectionAssert.AreEquivalent(Dictionary, Records.Inverse, "Collections don't match. Bad Seed was {0}", Seed);

            foreach (var MyPair in Dictionary)
            {
                Assert.IsTrue(Records.TryGetLeft(MyPair.Key, out var Value));
                Assert.AreEqual(MyPair.Value, Value);
            }
        }