code: public <R> JoinOperatorSetsBase<T, R> rightOuterJoin(DataSet<R> other, JoinHint strategy) {
  		switch(strategy) {
  			case OPTIMIZER_CHOOSES:
  			case REPARTITION_SORT_MERGE:
  			case REPARTITION_HASH_FIRST:
  			case REPARTITION_HASH_SECOND:
  			case BROADCAST_HASH_FIRST:
  				return new JoinOperatorSetsBase<>(this, other, strategy, JoinType.RIGHT_OUTER);
  			default:
  				throw new InvalidProgramException("Invalid JoinHint for RightOuterJoin: " + strategy);
  		}
  	}
docs: Initiates a Right Outer Join transformation.
  
  <p>An Outer Join transformation joins two elements of two
  {@link DataSet DataSets} on key equality and provides multiple ways to combine
  joining elements into one DataSet.
  
  <p>Elements of the <b>right</b> DataSet (i.e. {@code other}) that do not have a matching
  element on {@code this} side are joined with {@code null} and emitted to the
  resulting DataSet.
  
  @param other The other DataSet with which this DataSet is joined.
  @param strategy The strategy that should be used execute the join. If {@code null} is given, then the
  optimizer will pick the join strategy.
  @return A JoinOperatorSet to continue the definition of the Join transformation.
  
  @see org.apache.flink.api.java.operators.join.JoinOperatorSetsBase
  @see DataSet