docs: DefaultId rollup(Set<String> keys, boolean keep) {
      if (tags.isEmpty()) {
        return this;
      } else {
        Map<String, String> ts = new TreeMap<>();
        for (Tag t : tags) {
          if (keys.contains(t.key()) == keep && !ts.containsKey(t.key())) {
            ts.put(t.key(), t.value());
          }
        }
        return new DefaultId(name, ArrayTagSet.create(ts));
      }
    }