src/main/java/com/amazonaws/hal/client/HalJsonEmbeddedUnmarshaller.java
@Override
    public Map<String, HalResource> unmarshall(JsonUnmarshallerContext context)
            throws Exception {
        Map<String, HalResource> embedded = new LinkedHashMap<>();
        JsonToken token = context.getCurrentToken();

        while (token != null && token != JsonToken.END_OBJECT) {
            if (token == JsonToken.FIELD_NAME) {
                // Ignore the field name and move to the next token.  The item's key will be the embedded resource's selfHref.
                token = context.nextToken();

                if (token == JsonToken.START_ARRAY) {
                    List<HalResource> halResources = new HalJsonArrayUnmarshaller<>(HalJsonResourceUnmarshaller.getInstance()).unmarshall(context);

                    for (HalResource halResource : halResources) {
                        embedded.put(halResource._getSelfHref(), halResource);
                    }
                } else {
                    HalResource halResource = HalJsonResourceUnmarshaller.getInstance().unmarshall(context);

                    embedded.put(halResource._getSelfHref(), halResource);
                }
            }

            token = context.nextToken();
        }

        return embedded;
    }
@Override
    public Map<String, HalResource> unmarshall(JsonUnmarshallerContext context)
            throws Exception {
        Map<String, HalResource> embedded = new LinkedHashMap<>();
        JsonToken token = context.getCurrentToken();

        while (token != null && token != JsonToken.END_OBJECT) {
            if (token == JsonToken.FIELD_NAME) {
                // Ignore the field name and move to the next token.  The item's key will be the embedded resource's selfHref.
                token = context.nextToken();

                if (token == JsonToken.START_ARRAY) {
                    List<HalResource> halResources = new HalJsonArrayUnmarshaller<>(HalJsonResourceUnmarshaller.getInstance()).unmarshall(context);

                    for (HalResource halResource : halResources) {
                        embedded.put(halResource._getSelfHref(), halResource);
                    }
                } else {
                    HalResource halResource = HalJsonResourceUnmarshaller.getInstance().unmarshall(context);

                    embedded.put(halResource._getSelfHref(), halResource);
                }
            }

            token = context.nextToken();
        }

        return embedded;
    }
@ Override public Map < String , HalResource > unmarshall ( JsonUnmarshallerContext context ) throws Exception { Map < String , HalResource > embedded = new LinkedHashMap <> ( ) ; JsonToken token = context . getCurrentToken ( ) ; while ( token != null && token != JsonToken . END_OBJECT ) { if ( token == JsonToken . FIELD_NAME ) { // Ignore the field name and move to the next token.  The item's key will be the embedded resource's selfHref. token = context . nextToken ( ) ; if ( token == JsonToken . START_ARRAY ) { List < HalResource > halResources = new HalJsonArrayUnmarshaller <> ( HalJsonResourceUnmarshaller . getInstance ( ) ) . unmarshall ( context ) ; for ( HalResource halResource : halResources ) { embedded . put ( halResource . _getSelfHref ( ) , halResource ) ; } } else { HalResource halResource = HalJsonResourceUnmarshaller . getInstance ( ) . unmarshall ( context ) ; embedded . put ( halResource . _getSelfHref ( ) , halResource ) ; } } token = context . nextToken ( ) ; } return embedded ; }
-------------------------------------------------------------
-------------------------------------------------------------