docs: private static ArrayNode toJson(Iterable<? extends Change<?>> changes) {
          final ArrayNode changesNode = JsonNodeFactory.instance.arrayNode();
          changes.forEach(c -> {
              final ObjectNode changeNode = JsonNodeFactory.instance.objectNode();
              changeNode.put("path", c.path());
              changeNode.put("type", c.type().name());
              final Class<?> contentType = c.type().contentType();
              if (contentType == JsonNode.class) {
                  changeNode.set("content", (JsonNode) c.content());
              } else if (contentType == String.class) {
                  changeNode.put("content", (String) c.content());
              }
              changesNode.add(changeNode);
          });
          return changesNode;
      }