code: public static <E> List<E> concatView(List<List<? extends E>> lists) {
          if(lists.isEmpty()) {
              return Collections.emptyList();
          } else {
              return ConcatView.create(lists);
          }
      }
docs: Returns a list that is a concatenation of the given lists. The returned
  list is a view of the underlying lists, without copying the elements.
  The returned list is unmodifiable. Modifications to underlying lists
  will be visible through the concatenation view.