docs: @Override
      public List<T> readWithFilter(ReadFilter filter) {
          if (filter == null) {
              filter = new ReadFilter();
          }
          JSONObject where = filter.getWhere();
          scanForNestedObjectsInWhereClause(where);
          List<T> results = new ArrayList<T>(data.values());
  
          filterData(results, where);
          results = pageData(results, filter.getLimit(), filter.getOffset());
          return results;
      }