@NotNull
  public PsiQuery<T> filter(@NotNull final Predicate<? super T> filter) {
    return new PsiQuery<>(asStream().filter(filter).collect(Collectors.toList()));
  }
@NotNull
  public PsiQuery<T> filter(@NotNull final Predicate<? super T> filter)