code: public static <T> List<T> wrap(final List<T> source) {
          val list = new ArrayList<T>();
          if (source != null && !source.isEmpty()) {
              list.addAll(source);
          }
          return list;
      }
docs: Wraps a possibly null list in an immutable wrapper.
  
  @param <T>    the type parameter
  @param source list to wrap.
  @return the list