code: public static <T> void applyFilter(MultivaluedMap<String, String> queryParams,
                                         SpiQuery<T> query,
                                         InjectionManager manager) {
          List<String> wheres = queryParams.get(FILTER_PARAM_NAME);
          if (wheres != null && wheres.size() > 0) {
              EbeanExprInvoker invoker = new EbeanExprInvoker(query, manager);
              WhereExprApplier<T> applier = WhereExprApplier.create(query.where());
              for (String w : wheres) {
                  QueryDSL.invoke(
                          w,
                          invoker,
                          applier
                  );
              }
          }
      }
docs: /path?filter=p.in(1,2)c.eq('ddd')d.startWith('a')or(f.eq('a')g.startWith(2))
  
  @param queryParams uri query params
  @param query       query
  @param manager     a {@link InjectionManager} object.
  @param <T>         a T object.