code: public static <T> Collection<T> plus(Collection<T> left, Collection<T> right) {
          final Collection<T> answer = cloneSimilarCollection(left, left.size() + right.size());
          answer.addAll(right);
          return answer;
      }
docs: Create a Collection as a union of two collections. If the left collection
  is a Set, then the returned collection will be a Set otherwise a List.
  This operation will always create a new object for the result,
  while the operands remain unchanged.
  <pre class="groovyTestCase">assert [1,2,3,4] == [1,2] + [3,4]</pre>
  
  @param left  the left Collection
  @param right the right Collection
  @return the merged Collection
  @since 1.5.0