public SearchParameters range(
     final SingularAttribute<?, LocalDateTime> field,
     final LocalDateTime from,
     final LocalDateTime to) {
   addRange(rangeLocalDateTime(field, from, to));
   return this;
 }
 public SearchParameters before(
     final SingularAttribute<?, LocalDateTime> field, final LocalDateTime setToto) {
   RangeLocalDateTime<?> rangeLocalDateTime = rangeLocalDateTime(field);
   rangeLocalDateTime.setTo(setToto);
   addRange(rangeLocalDateTime);
   return this;
 }
 public SearchParameters after(
     final SingularAttribute<?, LocalDateTime> field, final LocalDateTime from) {
   RangeLocalDateTime<?> rangeLocalDateTime = rangeLocalDateTime(field);
   rangeLocalDateTime.setFrom(from);
   addRange(rangeLocalDateTime);
   return this;
 }
 /**
  * Add the passed {@link Range} in order to create a 'range' predicate on the corresponding
  * property.
  */
 public SearchParameters range(final Range<?, ?> range) {
   addRange(range);
   return this;
 }
 public SearchParameters lower(final SingularAttribute<?, Integer> field, final Integer value) {
   RangeInteger<?> rangeInteger = RangeInteger.rangeInteger(field);
   rangeInteger.setTo(value);
   addRange(rangeInteger);
   return this;
 }
 public SearchParameters before(final SingularAttribute<?, Date> field, final Date setToto) {
   RangeDate<?> rangeDate = rangeDate(field);
   rangeDate.setTo(setToto);
   addRange(rangeDate);
   return this;
 }
 public SearchParameters after(final SingularAttribute<?, Date> field, final Date from) {
   RangeDate<?> rangeDate = rangeDate(field);
   rangeDate.setFrom(from);
   addRange(rangeDate);
   return this;
 }
 // -----------------------------------
 // Search by range support
 // -----------------------------------
 public SearchParameters(final Range<?, ?> range) {
   addRange(range);
 }