core/src/main/java/org/apache/druid/collections/CombiningIterable.java
/**
   * Creates a CombiningIterable around a MergeIterable such that equivalent elements are thrown away
   *
   * If there are multiple Iterables in parameter "in" with equivalent objects, there are no guarantees
   * around which object will win.  You will get *some* object from one of the Iterables, but which Iterable is
   * unknown.
   *
   * @param in An Iterable of Iterables to be merged
   * @param comparator the Comparator to determine sort and equality
   * @param <T> Type of object
   * @return An Iterable that is the merge of all Iterables from in such that there is only one instance of
   * equivalent objects.
   */
Creates a CombiningIterable around a MergeIterable such that equivalent elements are thrown away
If there are multiple Iterables in parameter "in" with equivalent objects, there are no guarantees
around which object will win.  You will get *some* object from one of the Iterables, but which Iterable is
unknown.

@param in An Iterable of Iterables to be merged
@param comparator the Comparator to determine sort and equality
@param  Type of object
@return An Iterable that is the merge of all Iterables from in such that there is only one instance of
equivalent objects.
Creates a CombiningIterable around a MergeIterable such that equivalent elements are thrown away If there are multiple Iterables in parameter " in " with equivalent objects there are no guarantees around which object will win . You will get * some * object from one of the Iterables but which Iterable is unknown . @param in An Iterable of Iterables to be merged @param comparator the Comparator to determine sort and equality @param Type of object @return An Iterable that is the merge of all Iterables from in such that there is only one instance of equivalent objects .
public static <T> CombiningIterable<T> createSplatted(
      Iterable<? extends Iterable<T>> in,
      Comparator<T> comparator
  )
  {
    return create(
        new MergeIterable<>(in, comparator),
        comparator,
        GuavaUtils::firstNonNull
    );
  }
public static < T > CombiningIterable < T > createSplatted ( Iterable < ? extends Iterable < T > > in , Comparator < T > comparator ) { return create ( new MergeIterable < > ( in , comparator ) , comparator , GuavaUtils :: firstNonNull ) ; }
Creates a CombiningIterable around a MergeIterable such that equivalent elements are thrown away
 If there are multiple Iterables in parameter "in" with equivalent objects, there are no guarantees
 around which object will win.
Creates a CombiningIterable around a MergeIterable such that equivalent elements are thrown away If there are multiple Iterables in parameter " in " with equivalent objects there are no guarantees around which object will win .