src/main/java/com/amazonaws/hal/client/HalJsonLinkUnmarshaller.java
@Override
    public HalLink unmarshall(JsonUnmarshallerContext context)
            throws Exception {
        HalLink halLink = new HalLink();
        JsonToken token = context.getCurrentToken();

        while (token != null && token != JsonToken.END_OBJECT) {
            if (token == JsonToken.FIELD_NAME) {
                if (context.testExpression("href")) {
                    context.nextToken();
                    halLink.setHref(context.readText());
                } else if (context.testExpression("name")) {
                    context.nextToken();
                    halLink.setName(context.readText());
                } else if (context.testExpression("title")) {
                    context.nextToken();
                    halLink.setTitle(context.readText());
                } else if (context.testExpression("templated")) {
                    context.nextToken();
                    halLink.setTemplated(Boolean.valueOf(context.readText()));
                } else if (context.testExpression("deprecation")) {
                    context.nextToken();
                    halLink.setDeprecation(context.readText());
                } else {
                    // Ignore this.  Likely one of hreflang, profile, type
                    context.nextToken();
                }
            }

            token = context.nextToken();
        }

        return halLink;
    }
@Override
    public HalLink unmarshall(JsonUnmarshallerContext context)
            throws Exception {
        HalLink halLink = new HalLink();
        JsonToken token = context.getCurrentToken();

        while (token != null && token != JsonToken.END_OBJECT) {
            if (token == JsonToken.FIELD_NAME) {
                if (context.testExpression("href")) {
                    context.nextToken();
                    halLink.setHref(context.readText());
                } else if (context.testExpression("name")) {
                    context.nextToken();
                    halLink.setName(context.readText());
                } else if (context.testExpression("title")) {
                    context.nextToken();
                    halLink.setTitle(context.readText());
                } else if (context.testExpression("templated")) {
                    context.nextToken();
                    halLink.setTemplated(Boolean.valueOf(context.readText()));
                } else if (context.testExpression("deprecation")) {
                    context.nextToken();
                    halLink.setDeprecation(context.readText());
                } else {
                    // Ignore this.  Likely one of hreflang, profile, type
                    context.nextToken();
                }
            }

            token = context.nextToken();
        }

        return halLink;
    }
-------------------------------------------------------------