code: public ImmutableList<E> asList() {
      return isEmpty() ? ImmutableList.<E>of() : ImmutableList.<E>asImmutableList(toArray());
    }
docs: 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