docs: @SuppressWarnings("unchecked")
      public static <T> List<List<T>> zip(final List<T> ... lists) {
          final List<List<T>> zipped = newArrayList();
          each(Arrays.asList(lists), new Consumer<List<T>>() {
              @Override
              public void accept(final List<T> list) {
                  int index = 0;
                  for (T elem : list) {
                      final List<T> nTuple = index >= zipped.size() ? U.<T>newArrayList() : zipped.get(index);
                      if (index >= zipped.size()) {
                          zipped.add(nTuple);
                      }
                      index += 1;
                      nTuple.add(elem);
                  }
              }
          });
          return zipped;
      }