docs: public List<ChangesByObject> groupByObject() {
          Map<GlobalId, List<Change>> changesByObject = changes.stream().collect(
                  groupingBy(c -> c.getAffectedGlobalId().masterObjectId()));
  
          List<ChangesByObject> result = new ArrayList<>();
          changesByObject.forEach((k, v) -> {
              result.add(new ChangesByObject(k, v, valuePrinter));
          });
  
          return Collections.unmodifiableList(result);
      }