code: public Collection<FileInfo> getFileInfo(final Predicate<FileInfo> filter) {
          return files.values().stream()
                  .filter(filter)
                  .collect(Collectors.toList());
      }
docs: Get file info objects that pass the filter
  
  @param filter filter file info object must pass
  @return collection of file info objects that pass the filter, may be empty