public void TestMethod1()
        {
            var obj               = new ClassB();
            var proxy             = obj.GetInstance();
            var containsCountable = (IContainsCountable)proxy;
            var countable         = (ICountable)proxy;
            var longCountable     = (ILongCountable)proxy;

            containsCountable.Countable.Count = 13;
            Assert.AreEqual(13, obj.Countable.GetCount());
            Assert.AreEqual(17, countable.GetCount());
            Assert.AreEqual(17, longCountable.GetCount());
            Assert.AreEqual(13, longCountable.LongCount);
        }