public <R> CrossOperator.DefaultCross<T, R> crossWithHuge(DataSet<R> other) {
		return new CrossOperator.DefaultCross<T, R>(this, other);
	}
public < R > CrossOperator . DefaultCross < T , R > crossWithHuge ( DataSet < R > other ) { return new CrossOperator . DefaultCross < T , R > ( this , other ) ; }
Initiates a Cross transformation.<br/>
A Cross transformation combines the elements of two
{@link DataSet DataSets} into one DataSet. It builds all pair combinations of elements of
both DataSets, i.e., it builds a Cartesian product.
This method also gives the hint to the optimizer that the second DataSet to cross is much
larger than the first one.

<p>
The resulting {@link DefaultCross} wraps each pair of crossed elements into a {@link Tuple2}, with
the element of the first input being the first field of the tuple and the element of the
second input being the second field of the tuple.

<p>
Call {@link DefaultCross.with(CrossFunction)} to define a {@link CrossFunction} which is called for
each pair of crossed elements. The CrossFunction returns a exactly one element for each pair of input elements.</br>

@param other The other DataSet with which this DataSet is crossed.
@return A DefaultCross that returns a Tuple2 for each pair of crossed elements.

@see DefaultCross
@see CrossFunction
@see DataSet
@see Tuple2