code: @Deprecated
  	public <R> SingleOutputStreamOperator<R> fold(R initialValue, FoldFunction<T, R> function, TypeInformation<R> resultType) {
  		if (function instanceof RichFunction) {
  			throw new UnsupportedOperationException("FoldFunction of fold can not be a RichFunction. " +
  					"Please use fold(FoldFunction, WindowFunction) instead.");
  		}
  
  		return fold(initialValue, function, new PassThroughAllWindowFunction<W, R>(), resultType, resultType);
  	}
docs: Applies the given fold function to each window. The window function is called for each
  evaluation of the window for each key individually. The output of the reduce function is
  interpreted as a regular non-windowed stream.
  
  @param function The fold function.
  @return The data stream that is the result of applying the fold function to the window.
  
  @deprecated use {@link #aggregate(AggregateFunction, TypeInformation, TypeInformation)} instead