During some minimization efforts on the previous released version 28.2-jre, I noticed a spurious file in the published version on maven central:

```
tn@proteus:~/Downloads$ unzip -l guava-28.2-jre.jar  | grep swp
    16384  2019-09-18 17:29   com/google/common/collect/.ImmutableListMultimap.java.swp
```

Looks like an transient artefact from an editor that slipped into the release. It is not present in the android variant or in older releases (I checked at least 28.1-jre).

Minor things that can not be changed anymore but maybe a trigger for improvement of future releases.

Edit: I noticed that 29.0 has been released that does not contain this spurious file.
public static <E> FluentIterable<E> from(FluentIterable<E> iterable) {
    return checkNotNull(iterable);
  }
  /**
   * Returns a fluent iterable that combines two iterables. The returned iterable has an iterator
   * that traverses the elements in {@code a}, followed by the elements in {@code b}. The source
   * iterators are not polled until necessary.
   *
   * <p>The returned iterable's iterator supports {@code remove()} when the corresponding input
   * iterator supports it.
   *
   * <p><b>{@code Stream} equivalent:</b> {@link Stream#concat}.
   *
   * @since 20.0
   */
  @Beta
  public static <T> FluentIterable<T> concat(Iterable<? extends T> a, Iterable<? extends T> b) {
    return concatNoDefensiveCopy(a, b);
  }
  /**
   * Returns a fluent iterable that combines three iterables. The returned iterable has an iterator
   * that traverses the elements in {@code a}, followed by the elements in {@code b}, followed by
   * the elements in {@code c}. The source iterators are not polled until necessary.
   *
   * <p>The returned iterable's iterator supports {@code remove()} when the corresponding input
   * iterator supports it.
   *
   * <p><b>{@code Stream} equivalent:</b> use nested calls to {@link Stream#concat}, or see the
   * advice in {@link #concat(Iterable...)}.
   *