public void CommitRootNewSubUnchanged()
        {
            ClassWithAllDataTypes obj = GetNewUnchanged();

            Assert.That(obj.State, Is.EqualTo(StateType.New));
            using (TestableClientTransaction.CreateSubTransaction().EnterDiscardingScope())
            {
                obj.EnsureDataAvailable();
                Assert.That(obj.State, Is.EqualTo(StateType.Unchanged));
                ClientTransactionScope.CurrentTransaction.Commit();
            }
            Assert.That(obj.State, Is.EqualTo(StateType.New));
        }