code: public static <T> Collection<T> asImmutable(Collection<T> self) {
          return asUnmodifiable((Collection<T>) new ArrayList<T>(self));
      }
docs: A convenience method for creating an immutable Collection.
  
  @param self a Collection
  @return an unmodifiable view of a copy of the original, i.e. an effectively immutable copy
  @see #asImmutable(java.util.List)
  @see #asUnmodifiable(java.util.Collection)
  @since 1.5.0