class Builder {
            private CqlIdentifier table = CqlIdentifier.fromCql(DEFAULT_TABLE);
            private ColumnNames columnNames = new ColumnNames("name", "lockUntil", "lockedAt", "lockedBy");
            private CqlSession cqlSession;
            private ConsistencyLevel consistencyLevel = ConsistencyLevel.QUORUM;
            private ConsistencyLevel serialConsistencyLevel = ConsistencyLevel.SERIAL;
            private CqlIdentifier keyspace;

            public Builder withTableName(@NonNull String table) {
                return withTableName(CqlIdentifier.fromCql(table));
            }

            public Builder withTableName(@NonNull CqlIdentifier table) {
                this.table = table;
                return this;
            }

            public Builder withColumnNames(ColumnNames columnNames) {
                this.columnNames = columnNames;
                return this;
            }

            public Builder withCqlSession(@NonNull CqlSession cqlSession) {
                this.cqlSession = cqlSession;
                return this;
            }

            public Builder withConsistencyLevel(@NonNull ConsistencyLevel consistencyLevel) {
                this.consistencyLevel = consistencyLevel;
                return this;
            }

            /**
             * Since Shedlock internally uses CAS (Compare And Set) operations This
             * configuration helps to have a granular control on the CAS consistency.
             *
             * @return Builder
             */
            public Builder withSerialConsistencyLevel(@NonNull ConsistencyLevel serialConsistencyLevel) {
                this.serialConsistencyLevel = serialConsistencyLevel;
                return this;
            }

            public Builder withKeyspace(@NonNull CqlIdentifier keyspace) {
                this.keyspace = keyspace;
                return this;
            }

            public CassandraLockProvider.Configuration build() {<FILL_FUNCTION_BODY>}
        }

                return new CassandraLockProvider.Configuration(
                        cqlSession, table, columnNames, consistencyLevel, serialConsistencyLevel, keyspace);
            
<methods>public void clearCache() ,public Optional<net.javacrumbs.shedlock.core.SimpleLock> lock(net.javacrumbs.shedlock.core.LockConfiguration) <variables>private final net.javacrumbs.shedlock.support.LockRecordRegistry lockRecordRegistry,private final non-sealed net.javacrumbs.shedlock.support.StorageAccessor storageAccessor