public virtual void TestMerge3()
        {
            IList <string>       a          = Arrays.AsList("a", "b", "d", "e");
            IList <string>       b          = Arrays.AsList("b", "c", "d", "e");
            IList <string>       c          = Arrays.AsList("a", "b", "c", "e", "f");
            IComparator <string> comparator = IComparer.NaturalOrder();
            IEnumerator <Triple <string, string, string> > iter = Iterables.Merge(a, b, c, comparator).GetEnumerator();

            NUnit.Framework.Assert.AreEqual(iter.Current, new Triple <string, string, string>("b", "b", "b"));
            NUnit.Framework.Assert.AreEqual(iter.Current, new Triple <string, string, string>("e", "e", "e"));
            NUnit.Framework.Assert.IsTrue(!iter.MoveNext());
        }