code: @Override
      public Iterable<T> findAll(EntityFilter<T> filter) {
          List<T> results = new ArrayList<>();
          for (T object : findAll()) {
              if (filter.accept(object)) {
                  results.add(object);
              }
          }
          return results;
      }
docs: Retrieves the entities matching the given filter.
  Be aware that the implementation may load all stored entities in memory to retrieve the right set of entities.
  
  @param filter the filter
  @return the matching instances, empty if none.