code: @Pure
  	@Inline(value="$3.$4concat($1, $2)", imported=Iterators.class)
  	public static <T> Iterator<T> operator_plus(Iterator<? extends T> a, Iterator<? extends T> b) {
  		return Iterators.concat(a, b);
  	}
docs: <p>
  Concatenates two iterators into a single iterator. The returned iterator traverses the
  elements in {@code a}, followed by the elements in {@code b}. The resulting iterator is effectivly a view on the
  source iterators. That is, the source iterators are not polled until necessary and the result will reflect
  changes in the sources.
  </p>
  <p>
  The returned iterator supports {@code remove()} when the corresponding input iterator supports it.
  </p>
  
  @param a
  the first iterator. May not be <code>null</code>.
  @param b
  the second iterator. May not be <code>null</code>.
  @return a combined iterator. Never <code>null</code>.