code: public static <T> IntStreamEx ofIndices(List<T> list, Predicate<T> predicate) {
          return seq(IntStream.range(0, list.size()).filter(i -> predicate.test(list.get(i))));
      }
docs: Returns a sequential ordered {@code IntStreamEx} containing all the
  indices of the supplied list elements which match given predicate.
  
  <p>
  The list elements are accessed using {@link List#get(int)}, so the list
  should provide fast random access. The list is assumed to be unmodifiable
  during the stream operations.
  
  @param <T> list element type
  @param list list to get the stream of its indices
  @param predicate a predicate to test list elements
  @return a sequential {@code IntStreamEx} of the matched list indices
  @since 0.1.1