code: public static <S extends Storable> Cursor<S> applyFilter(Cursor<S> cursor,
                                                               Class<S> type,
                                                               String filter,
                                                               Object... filterValues)
      {
          Filter<S> f = Filter.filterFor(type, filter).bind();
          FilterValues<S> fv = f.initialFilterValues().withValues(filterValues);
          return applyFilter(f, fv, cursor);
      }
docs: Returns a Cursor that is filtered by the given filter expression and values.
  
  @param cursor cursor to wrap
  @param type type of storable
  @param filter filter to apply
  @param filterValues values for filter
  @return wrapped cursor which filters results
  @throws IllegalStateException if any values are not specified
  @throws IllegalArgumentException if any argument is null
  @since 1.2