private <T extends HalRepresentation> void resolveEmbeddedTypeInfo(final List<EmbeddedTypeInfo> typeInfos,
                                                                       final JsonNode itemNode,
                                                                       final T item) {
        if (!itemNode.isMissingNode()) {
            typeInfos.forEach(typeInfo -> {
                final Optional<JsonNode> embeddedNodeForRel = findPossiblyCuriedEmbeddedNode(item, itemNode, typeInfo.getRel());
                embeddedNodeForRel.ifPresent(node -> resolveEmbeddedTypeInfoForRel(typeInfo, item, node));
            });
        }
    }
private < T extends HalRepresentation > void resolveEmbeddedTypeInfo ( final List < EmbeddedTypeInfo > typeInfos , final JsonNode itemNode , final T item ) { if ( ! itemNode . isMissingNode ( ) ) { typeInfos . forEach ( typeInfo -> { final Optional < JsonNode > embeddedNodeForRel = findPossiblyCuriedEmbeddedNode ( item , itemNode , typeInfo . getRel ( ) ) ; embeddedNodeForRel . ifPresent ( node -> resolveEmbeddedTypeInfoForRel ( typeInfo , item , node ) ) ; } ) ; } }
Resolves the types of the embedded items based on {@code typeInfos}

@param typeInfos information about the expected types of embedded items
@param itemNode the json node of the item
@param item the item with possible embedded child items.
@param <T> the java type of the item