android/guava/src/com/google/common/collect/ImmutableCollection.java
public ImmutableList<E> asList() {
    return isEmpty() ? ImmutableList.<E>of() : ImmutableList.<E>asImmutableList(toArray());
  }
public ImmutableList<E> asList() {
    return isEmpty() ? ImmutableList.<E>of() : ImmutableList.<E>asImmutableList(toArray());
  }
Returns an {@code ImmutableList} containing the same elements, in the same order, as this
collection.

<p><b>Performance note:</b> in most cases this method can return quickly without actually
copying anything. The exact circumstances under which the copy is performed are undefined and
subject to change.

@since 2.0