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.
* @since 13.0 (required {@code Function<E, Iterable<T>>} until 14.0)
   */
  public <T> FluentIterable<T> transformAndConcat(
      Function<? super E, ? extends Iterable<? extends T>> function) {
    return FluentIterable.concat(transform(function));
  }
  /**
   * Returns an {@link Optional} containing the first element in this fluent iterable. If the
   * iterable is empty, {@code Optional.absent()} is returned.
   *
   * <p><b>{@code Stream} equivalent:</b> if the goal is to obtain any element, {@link
   * Stream#findAny}; if it must specifically be the <i>first</i> element, {@code Stream#findFirst}.
   *
   * @throws NullPointerException if the first element is null; if this is a possibility, use {@code
   *     iterator().next()} or {@link Iterables#getFirst} instead.
   */
  public final Optional<E> first() {
    Iterator<E> iterator = getDelegate().iterator();
    return iterator.hasNext() ? Optional.of(iterator.next()) : Optional.<E>absent();
  }
  /**
   * Returns an {@link Optional} containing the last element in this fluent iterable. If the
   * iterable is empty, {@code Optional.absent()} is returned. If the underlying {@code iterable} is
   * a {@link List} with {@link java.util.RandomAccess} support, then this operation is guaranteed
   * to be {@code O(1)}.
   *
   * <p><b>{@code Stream} equivalent:</b> {@code stream.reduce((a, b) -> b)}.
   *
   * @throws NullPointerException if the last element is null; if this is a possibility, use {@link
   *     Iterables#getLast} instead.