protected final Criteria<?> findCriterion(final String property) {
   for (final Criteria<?> criterion : this.criteria) {
     if (criterion.getPrefix().equals(property)) {
       return criterion;
     }
   }
   return null;
 }
 protected String createToolTip(final Criteria<?>... criteria) {
   final StringBuilder builder = new StringBuilder("Filter by ");
   for (int i = 0; i < criteria.length; i++) {
     final Criteria<?> criterion = criteria[i];
     builder.append(criterion.getPrefix());
     if (i == criteria.length - 2) {
       builder.append(" or ");
     } else if (i != criteria.length - 1) {
       builder.append(", ");
     }
   }
   builder.append(".");
   return builder.toString();
 }