code: public static <K, V> EntryStream<K, V> zip(List<K> keys, List<V> values) {
          return of(new RangeBasedSpliterator.ZipRef<>(0, checkLength(keys.size(), values.size()),
                  SimpleImmutableEntry::new, keys, values));
      }
docs: Returns a sequential {@code EntryStream} containing {@code Entry} objects
  composed from corresponding key and value in given two lists.
  
  <p>
  The keys and values are accessed using {@link List#get(int)}, so the
  lists should provide fast random access. The lists are assumed to be
  unmodifiable during the stream operations.
  
  @param <K> the type of stream element keys
  @param <V> the type of stream element values
  @param keys the list of keys, assumed to be unmodified during use
  @param values the list of values, assumed to be unmodified during use
  @return a new {@code EntryStream}
  @throws IllegalArgumentException if length of the lists differs.
  @see StreamEx#zip(List, List, BiFunction)
  @since 0.2.1