title: assignTimestampsAndWatermarks not work after KeyedStream.process
body: <p><code>assignTimestampsAndWatermarks</code> before <code>keyBy</code> works:</p>
  
  <pre class="lang-java prettyprint-override"><code>DataStream&lt;Trip&gt; trips =
          env.addSource(consumer).assignTimestampsAndWatermarks(new BoundedOutOfOrdernessTimestampExtractor&lt;Trip&gt;(Time.days(1)) {
              @Override
              public long extractTimestamp(Trip trip) {
                  return trip.endTime.getTime();
              }
          });
  KeyedStream&lt;Trip, Long&gt; userTrips = trips.keyBy(trip -&gt; trip.userId);
  DataStream&lt;FeaturizedTrip&gt; featurizedUserTrips = userTrips.process(new Featurization());
  AllWindowedStream&lt;FeaturizedTrip, TimeWindow&gt; windowedUserTrips =
          featurizedUserTrips.timeWindowAll(Time.days(7),
                  Time.days(1));
  </code></pre>
  
  <p>But not after <code>keyBy</code> and <code>process</code>:</p>
  
  <pre class="lang-java prettyprint-override"><code>DataStream&lt;Trip&gt; trips = env.addSource(consumer);
  KeyedStream&lt;Trip, Long&gt; userTrips = trips.keyBy(trip -&gt; trip.userId);
  DataStream&lt;FeaturizedTrip&gt; featurizedUserTrips =
          userTrips.process(new Featurization()).assignTimestampsAndWatermarks(new BoundedOutOfOrdernessTimestampExtractor&lt;FeaturizedTrip&gt;(Time.days(1)) {
              @Override
              public long extractTimestamp(FeaturizedTrip trip) {
                  return trip.endTime.getTime();
              }
          });
  AllWindowedStream&lt;FeaturizedTrip, TimeWindow&gt; windowedUserTrips =
          featurizedUserTrips.timeWindowAll(Time.days(7),
                  Time.days(1));
  </code></pre>
  
  <p>Windows are never triggered.</p>
  
  <p>Is it a bug or expected behavior? If the latter where is it documented?</p>