public void Test3()
        {
            TestClass  tc1 = TypeAccessor.CreateInstance <TestClass> ();
            TestClass1 tc2 = TypeAccessor.CreateInstance <TestClass1>();

            tc1.ClearTest2b();

            int value1 = tc1.Test2();
            int value2 = tc1.Test2();
            int value3 = tc1.Test2(1);
            int value4 = tc1.Test2(1);

            Assert.AreEqual(value1, value2);
            Assert.AreEqual(value3, value4);

            tc2.ClearTest();
            tc2.ClearTest1();

            Assert.AreNotEqual(value1, tc1.Test2());
            Assert.AreNotEqual(value3, tc1.Test2(1));
        }