public CassandraEventStoreSchema(BoundedContext boundedContext, CassandraProvider cassandraProvider, ITableNamingStrategy tableNameStrategy, ILock @lock)
        {
            if (cassandraProvider is null)
            {
                throw new ArgumentNullException(nameof(cassandraProvider));
            }

            this.boundedContext    = boundedContext ?? throw new ArgumentNullException(nameof(boundedContext));
            this.session           = cassandraProvider.GetSession();
            this.tableNameStrategy = tableNameStrategy ?? throw new ArgumentNullException(nameof(tableNameStrategy));
            this.@lock             = @lock;

            this.lockTtl = TimeSpan.FromSeconds(2);
            if (lockTtl == TimeSpan.Zero)
            {
                throw new ArgumentException("Lock ttl must be more than 0", nameof(lockTtl));
            }
        }
 public CassandraEventStoreSettings(ICassandraProvider cassandraProvider, ITableNamingStrategy tableNameStrategy, ISerializer serializer)
 {
     CassandraProvider = cassandraProvider;
     TableNameStrategy = tableNameStrategy;
     Serializer        = serializer;
 }