public void OnSerializeAllSafely()
        {
            // create a networkidentity with our test components
            SerializeTest1NetworkBehaviour     comp1   = gameObject.AddComponent <SerializeTest1NetworkBehaviour>();
            SerializeExceptionNetworkBehaviour compExc = gameObject.AddComponent <SerializeExceptionNetworkBehaviour>();
            SerializeTest2NetworkBehaviour     comp2   = gameObject.AddComponent <SerializeTest2NetworkBehaviour>();

            // set some unique values to serialize
            comp1.value      = 12345;
            comp1.syncMode   = SyncMode.Observers;
            compExc.syncMode = SyncMode.Observers;
            comp2.value      = "67890";
            comp2.syncMode   = SyncMode.Owner;

            // serialize all
            var ownerWriter     = new NetworkWriter();
            var observersWriter = new NetworkWriter();

            // serialize should propagate exceptions
            Assert.Throws <Exception>(() =>
            {
                identity.OnSerializeAllSafely(true, ownerWriter, observersWriter);
            });
        }