public override void Execute()
        {
            IClassPersister     persister = Persister;
            ISessionImplementor session   = Session;
            object obj = Instance;

            // Don't need to lock the cache here, since if someone
            // else inserted the same pk first, the insert would fail.

            generatedId = persister.Insert(state, obj, session);

            // TODO: This bit has to be called after all the cascades

            /*
             * if ( persister.HasCache && !persister.IsCacheInvalidationRequired )
             * {
             *      cacheEntry = new CacheEntry( obj, persister, session );
             *      persister.Cache.Put( generatedId, cacheEntry, 0 );
             * }
             */
        }