public void CloneForSpecificType()
        {
            var mixins     = new[] { CreateBT1Mixin1Context(), CreateBT2Mixin2Context() };
            var interfaces = new[] { typeof(ICBT6Mixin1), typeof(ICBT6Mixin2) };
            var source     = new ClassContext(typeof(BaseType1), mixins, interfaces);

            var clone = source.CloneForSpecificType(typeof(BaseType2));

            Assert.That(clone, Is.Not.EqualTo(source));
            Assert.That(clone.Mixins, Is.EquivalentTo(mixins));
            Assert.That(clone.ComposedInterfaces, Is.EquivalentTo(interfaces));
            Assert.That(clone.Type, Is.EqualTo(typeof(BaseType2)));
            Assert.That(source.Type, Is.EqualTo(typeof(BaseType1)));
        }