private BlobAssetReference <T0> PostCheck <T0>(int instanceId, BlobData data)
            where T0 : struct
        {
            if (m_scriptableToBlob.TryAdd(instanceId, data))
            {
                return(data.AsReference <T0>());
            }

            data.AsReference <T0>().Dispose();

            throw new InvalidOperationException();
        }