public static <T> Collector<T, ?, ImmutableList<T>> toImmutableList() {
    return collectingAndThen(toList(), ImmutableList::copyOf);
  }
Returns a collector for an {@link ImmutableList}.
common/src/main/java/com/google/auto/common/MoreStreams.java