public virtual void TestRandomAddRemoveAndDelta()
        {
            CollectionValuedMap <int, int> originalMap = new CollectionValuedMap <int, int>();
            Random r = new Random();

            for (int i = 0; i < 800; i++)
            {
                int rInt1 = int.Parse(r.NextInt(400));
                int rInt2 = int.Parse(r.NextInt(400));
                originalMap.Add(rInt1, rInt2);
            }
            // System.out.println("Adding " + rInt1 + ' ' + rInt2);
            CollectionValuedMap <int, int> originalCopyMap = new CollectionValuedMap <int, int>(originalMap);
            CollectionValuedMap <int, int> deltaCopyMap    = new CollectionValuedMap <int, int>(originalMap);
            CollectionValuedMap <int, int> deltaMap        = new DeltaCollectionValuedMap <int, int>(originalMap);
            CollectionValuedMap <int, int> delta2Map       = originalMap.DeltaCopy();

            // now make a lot of changes to deltaMap;
            // add and change some stuff
            for (int i_1 = 0; i_1 < 400; i_1++)
            {
                int rInt1 = int.Parse(r.NextInt(400));
                int rInt2 = int.Parse(r.NextInt(400) + 1000);
                deltaMap.Add(rInt1, rInt2);
                delta2Map.Add(rInt1, rInt2);
                deltaCopyMap.Add(rInt1, rInt2);
            }
            // System.out.println("Adding " + rInt1 + ' ' + rInt2);
            // remove some stuff
            for (int i_2 = 0; i_2 < 400; i_2++)
            {
                int rInt1 = int.Parse(r.NextInt(1400));
                int rInt2 = int.Parse(r.NextInt(1400));
                deltaMap.RemoveMapping(rInt1, rInt2);
                delta2Map.RemoveMapping(rInt1, rInt2);
                deltaCopyMap.RemoveMapping(rInt1, rInt2);
            }
            // System.out.println("Removing " + rInt1 + ' ' + rInt2);
            // System.out.println("original: " + originalMap);
            // System.out.println("orig cop: " + originalCopyMap);
            // System.out.println("dcopy: " + deltaCopyMap);
            // System.out.println("delta: " + deltaMap);
            NUnit.Framework.Assert.AreEqual(originalMap, originalCopyMap, "Copy map not identical");
            NUnit.Framework.Assert.AreEqual(deltaCopyMap, deltaMap, "Delta map not equal to copy");
            NUnit.Framework.Assert.AreEqual(deltaCopyMap, delta2Map, "Delta2Map not equal to copy");
        }
 public _AbstractSet_217(DeltaCollectionValuedMap <K, V> _enclosing)
 {
     this._enclosing = _enclosing;
 }