code: public static <T> List<T> cast(List<?> list) {
      return list == null ? null : new CastingList<T>(list);
    }
docs: <p>Casts the elements in a list in a lazy fashion. Changes to the returned list are reflected in the the given
  list.</p>
  
  @param <T>  the type parameter
  @param list the list to cast
  @return the casted list or null if the given list is null