@ProcessElement public void processElements(ProcessContext c) { Tuple2<Long, String> el = c.element(); // assign windows Iterable<Long> windows = windowing.generate(el.f0); for (Long w : windows) { c.output(Tuple2.of(w, el.f1)); } } })).setCoder(new FlinkCoder<>(new TypeHint<Tuple2<Long, String>>() {