code: public static <K, V> EntryStream<K, V> of(Stream<? extends Entry<K, V>> stream) {
          if (stream instanceof AbstractStreamEx) {
              @SuppressWarnings("unchecked")
              AbstractStreamEx<Entry<K, V>, ?> ase = (AbstractStreamEx<Entry<K, V>, ?>) stream;
              if (ase.spliterator != null)
                  return new EntryStream<>(ase.spliterator(), ase.context);
              return new EntryStream<>(ase.stream(), ase.context);
          }
          return new EntryStream<>(stream, StreamContext.of(stream));
      }
docs: Returns an {@code EntryStream} object which wraps given {@link Stream} of
  {@link Entry} elements
  
  @param <K> the type of original stream keys
  @param <V> the type of original stream values
  @param stream original stream
  @return the wrapped stream