public void TestSerialiseLazyCollection()
        {
            Person p = BusinessObjectFactory.CreateAndFillPerson();
            Address addr = new Address
            {
                Address1 = "12 Street",
                Suburb = "Suburb",
                State = "QLD",
                Postcode = "1234"
            };
            p.Addresses.Add(addr);

            PersonType ptype = new PersonType
            {
                ID = "contact",
                Description = "General Contact"
            };
            ptype.Save(SaveMode.Flush);
            p.ContactType = ptype;
            p.Save(SaveMode.Flush);

            p.Evict();
            ptype.Evict();
            addr.Evict();

            Person loadedPerson = Person.Load(p.ID, session);
            Person newPerson = loadedPerson.Clone();
            loadedPerson.Evict();

            //the only way so far I can see is to re-attach collections is to lock/attach the base entity
            session.Lock(newPerson, NHibernate.LockMode.None);

            int addrCount = newPerson.Addresses.Count;

            Assert.Equal(p.ID, newPerson.ID);
            Assert.Equal("contact", newPerson.ContactType.ID);
            Assert.Equal(1, addrCount);
        }