public Cancellable schedule(final long interval, final PunctuationType type, final Punctuator punctuator) {
        switch (type) {
            case STREAM_TIME:
                // align punctuation to 0L, punctuate as soon as we have data
                return schedule(0L, interval, type, punctuator);
            case WALL_CLOCK_TIME:
                // align punctuation to now, punctuate after interval has elapsed
                return schedule(time.milliseconds() + interval, interval, type, punctuator);
            default:
                throw new IllegalArgumentException("Unrecognized PunctuationType: " + type);
        }
    }
Schedules a punctuation for the processor

@param interval the interval in milliseconds
@param type     the punctuation type
@throws IllegalStateException if the current node is not null
streams/src/main/java/org/apache/kafka/streams/processor/internals/StreamTask.java