code: public static <T> List<T> filter( List<T> list, Filter<T>... filters )
      {
          if ( Arrays.isEmpty( filters ) ) {
              return new ArrayList<T>( list );
          }
          return filterToList( list, filters );
      }
docs: Filter a {@link List} using {@link Filter}s and return a new {@link List}.
  
  {@link Filter}s are applied in given order on each element from source collection.<br/>
  The returned collection contain all the source elements accepted by at least one {@link Filter}.