docs: @SuppressWarnings("HiddenField")
    public BaseWindowedBolt withTimestampExtractor(TimestampExtractor timestampExtractor) {
      if (this.timestampExtractor != null) {
        throw new IllegalArgumentException(
            "Window is already configured with a timestamp extractor: " + timestampExtractor);
      }
  
      this.timestampExtractor = new org.apache.heron.api.windowing.TimestampExtractor() {
  
        @Override
        public long extractTimestamp(Tuple tuple) {
          return timestampExtractor.extractTimestamp(new TupleImpl(tuple));
        }
      };
      return this;
    }