docs: private Query createSplit(Key lastKey, Key nextKey, Query query) {
      if (lastKey == null && nextKey == null) {
        return query;
      }
      List<Filter> keyFilters = new ArrayList<Filter>();
      if (query.hasFilter()) {
        keyFilters.add(query.getFilter());
      }
      if (lastKey != null) {
        Filter lowerBound = DatastoreHelper.makeFilter(DatastoreHelper.KEY_PROPERTY_NAME,
            PropertyFilter.Operator.GREATER_THAN_OR_EQUAL,
            DatastoreHelper.makeValue(lastKey)).build();
        keyFilters.add(lowerBound);
      }
      if (nextKey != null) {
        Filter upperBound = DatastoreHelper.makeFilter(DatastoreHelper.KEY_PROPERTY_NAME,
            PropertyFilter.Operator.LESS_THAN,
            DatastoreHelper.makeValue(nextKey)).build();
        keyFilters.add(upperBound);
      }
      return Query.newBuilder(query).setFilter(makeAndFilter(keyFilters)).build();
    }