code: public static <E> Iterator<E> slice(long from, long howMany, E... array) {
          final Iterator<E> dropping = new FilteringIterator<E>(ArrayIterator.of(array), new DropWhile<E>(new UntilCount<E>(from)));
          return new TakeUpToIterator<E>(dropping, howMany);
  
      }
docs: Creates an iterator yielding a slice of the source array. E.g:
  <code>slice(1, 2, ["a", "b", "c", "d"]) ->  ["b", "c"]</code>
  
  @param <E> the iterator element type
  @param from the index at which the slice starts
  @param howMany the slice size (at most)
  @param array the source array
  @return the resulting iterator