code: @PublicEvolving
  	public <R> BroadcastConnectedStream<T, R> connect(BroadcastStream<R> broadcastStream) {
  		return new BroadcastConnectedStream<>(
  				environment,
  				this,
  				Preconditions.checkNotNull(broadcastStream),
  				broadcastStream.getBroadcastStateDescriptor());
  	}
docs: Creates a new {@link BroadcastConnectedStream} by connecting the current
  {@link DataStream} or {@link KeyedStream} with a {@link BroadcastStream}.
  
  <p>The latter can be created using the {@link #broadcast(MapStateDescriptor[])} method.
  
  <p>The resulting stream can be further processed using the {@code BroadcastConnectedStream.process(MyFunction)}
  method, where {@code MyFunction} can be either a
  {@link org.apache.flink.streaming.api.functions.co.KeyedBroadcastProcessFunction KeyedBroadcastProcessFunction}
  or a {@link org.apache.flink.streaming.api.functions.co.BroadcastProcessFunction BroadcastProcessFunction}
  depending on the current stream being a {@link KeyedStream} or not.
  
  @param broadcastStream The broadcast stream with the broadcast state to be connected with this stream.
  @return The {@link BroadcastConnectedStream}.