@NotNull
  public <R extends T> PsiQuery<R> filter(@NotNull final PsiFilter<R> filter) {
    return new PsiQuery<>(filter.filter(myElements));
  }
@NotNull
  public <R extends T> PsiQuery<R> filter(@NotNull final PsiFilter<R> filter)