@Override public void serialize(Resources<?> value, JsonGenerator jgen, SerializerProvider provider) throws IOException { CollectionJson<?> collectionJson = new CollectionJson() .withVersion("1.0") .withHref(value.getRequiredLink(IanaLinkRelation.SELF.value()).getHref()) .withLinks(withoutSelfLink(value.getLinks())) .withItems(resourcesToCollectionJsonItems(value)) .withQueries(findQueries(value)) .withTemplate(findTemplate(value)); CollectionJsonDocument<?> doc = new CollectionJsonDocument<>(collectionJson); provider .findValueSerializer(CollectionJsonDocument.class, property) .serialize(doc, jgen, provider); }