code: @PublicEvolving
  	public BroadcastStream<T> broadcast(final MapStateDescriptor<?, ?>... broadcastStateDescriptors) {
  		Preconditions.checkNotNull(broadcastStateDescriptors);
  		final DataStream<T> broadcastStream = setConnectionType(new BroadcastPartitioner<>());
  		return new BroadcastStream<>(environment, broadcastStream, broadcastStateDescriptors);
  	}
docs: Sets the partitioning of the {@link DataStream} so that the output elements
  are broadcasted to every parallel instance of the next operation. In addition,
  it implicitly as many {@link org.apache.flink.api.common.state.BroadcastState broadcast states}
  as the specified descriptors which can be used to store the element of the stream.
  
  @param broadcastStateDescriptors the descriptors of the broadcast states to create.
  @return A {@link BroadcastStream} which can be used in the {@link #connect(BroadcastStream)} to
  create a {@link BroadcastConnectedStream} for further processing of the elements.