Code review comment: I think this TODO for a stream factory should be commented on the `streamFactory`.

Code under review:
public Optional<MaterializationRunnable> initMaterialization() throws Exception {
        SequenceNumber upTo = getLastAppendedTo();
        SequenceNumber lastMaterializedTo = changelogSnapshotState.lastMaterializedTo();

        LOG.info(
                "Initialize Materialization. Current changelog writers last append to sequence number {}",
                upTo);

        if (upTo.compareTo(lastMaterializedTo) > 0) {

            LOG.info("Starting materialization from {} : {}", lastMaterializedTo, upTo);

            
            
            
            
            long materializationID = materializedId++;

            MaterializationRunnable materializationRunnable =
                    new MaterializationRunnable(
                            keyedStateBackend.snapshot(
                                    materializationID,
                                    System.currentTimeMillis(),
                                    streamFactory,
                                    CHECKPOINT_OPTIONS),
                            materializationID,
                            upTo);

            
            for (ChangelogState changelogState : changelogStates.values()) {
                changelogState.resetWritingMetaFlag();
            }

            for (ChangelogKeyGroupedPriorityQueue<?> priorityQueueState :
                    priorityQueueStatesByName.values()) {
                priorityQueueState.resetWritingMetaFlag();
            }

            return Optional.of(materializationRunnable);
        } else {
            LOG.debug(
                    "Skip materialization, last materialized to {} : last log to {}",
                    lastMaterializedTo,
                    upTo);

            return Optional.empty();
        }
    }


Revised code:
public Optional<MaterializationRunnable> initMaterialization() throws Exception {
        SequenceNumber upTo = getLastAppendedTo();
        SequenceNumber lastMaterializedTo = changelogSnapshotState.lastMaterializedTo();

        LOG.info(
                "Initialize Materialization. Current changelog writers last append to sequence number {}",
                upTo);

        if (upTo.compareTo(lastMaterializedTo) > 0) {

            LOG.info("Starting materialization from {} : {}", lastMaterializedTo, upTo);

            
            
            
            long materializationID = materializedId++;

            MaterializationRunnable materializationRunnable =
                    new MaterializationRunnable(
                            keyedStateBackend.snapshot(
                                    materializationID,
                                    System.currentTimeMillis(),
                                    
                                    streamFactory,
                                    CHECKPOINT_OPTIONS),
                            materializationID,
                            upTo);

            
            for (ChangelogState changelogState : changelogStates.values()) {
                changelogState.resetWritingMetaFlag();
            }

            for (ChangelogKeyGroupedPriorityQueue<?> priorityQueueState :
                    priorityQueueStatesByName.values()) {
                priorityQueueState.resetWritingMetaFlag();
            }

            return Optional.of(materializationRunnable);
        } else {
            LOG.debug(
                    "Skip materialization, last materialized to {} : last log to {}",
                    lastMaterializedTo,
                    upTo);

            return Optional.empty();
        }
    }