docs: public static <E> List<E> filter(final List<E> list, Filter<E> filter) {
          List<E> newList = new ArrayList<E>();
          if (list != null && list.size() != 0) {
              for (E e : list) {
                  if (filter.filter(e)) {
                      newList.add(e);
                  }
              }
          }
          return newList;
      }