code: @Override
    public Stream<Entity> findAll(Query<Entity> query) {
      if (transactionInformation.isRepositoryCompletelyClean(getEntityType())) {
        // FIXME page size for metadata is always 0, and batching is done by the postgres repository
        // FIXME Only superusers are able to use the L3 cache for metadata
        if (cacheable && query.getPageSize() > 0 && query.getPageSize() <= MAX_PAGE_SIZE) {
          List<Object> ids = l3Cache.get(delegate(), query);
          return delegate().findAll(ids.stream(), query.getFetch());
        }
      } else {
        LOG.debug("Repository is dirty: {}", getName());
      }
      return delegate().findAll(query);
    }
docs: Retrieves a {@link List} of identifiers from the {@link L3Cache} if the {@link Repository} is
  cacheable and the {@link Query} is limited (i.e. contains a pageSize) between 0 and
  MAX_PAGE_SIZE
  
  @param query The {@link Query}
  @return A stream of {@link Entity}