code: public static <T> List<T> asImmutable(List<T> self) {
          return asUnmodifiable(new ArrayList<T>(self));
      }
docs: A convenience method for creating an immutable List.
  <pre class="groovyTestCase">
  def mutable = [1,2,3]
  def immutable = mutable.asImmutable()
  try {
  immutable &lt;&lt; 4
  assert false
  } catch (UnsupportedOperationException) {
  assert true
  }
  mutable &lt;&lt; 4
  assert mutable.size() == 4
  assert immutable.size() == 3
  </pre>
  
  @param self a List
  @return an unmodifiable view of a copy of the original, i.e. an effectively immutable copy
  @see #asUnmodifiable(java.util.List)
  @since 1.0