public static <T extends GenericEntity>List<T> filterByAnd(List<T> values,Map<String,? extends Object> fields){
  if (values == null)   return null;
  List<T> result=null;
  if (UtilValidate.isEmpty(fields)) {
    result=new LinkedList<T>();
    result.addAll(values);
  }
 else {
    result=new LinkedList<T>();
    for (    T value : values) {
      if (value.matchesFields(fields)) {
        result.add(value);
      }
    }
  }
  return result;
}

public static < T extends GenericEntity > List < T > filterByAnd ( List < T > values , Map < String , ? extends Object > fields ) { if ( values == null ) return null ; List < T > result = null ; if ( UtilValidate . isEmpty ( fields ) ) { result = new LinkedList < T > ( ) ; result . addAll ( values ) ; } else { result = new LinkedList < T > ( ) ; for ( T value : values ) { if ( value . matchesFields ( fields ) ) { result . add ( value ) ; } } } return result ; }
returns the values that match the values in fields
