code: @Beta
      public <R, E extends Exception, E2 extends Exception> void filterThenForEach(final Try.Predicate<? super T, E> filter,
              final Try.Consumer<? super T, E2> action) throws E, E2 {
          N.checkArgNotNull(filter);
          N.checkArgNotNull(action);
  
          for (T e : coll) {
              if (filter.test(e)) {
                  action.accept(e);
              }
          }
      }
docs: For better performance, comparing to {@code Stream}.
  
  @param filter
  @param action
  @return
  @throws E
  @throws E2