code: @JsonMappingCompleted
    protected void jsonMappingCompleted(JsonMapper jsonMapper) {
  
      if (rawMessageTags == null) {
        return;
      }
  
      try {
        messageTags = jsonMapper.toJavaList(rawMessageTags, MessageTag.class);
        return;
      } catch (FacebookJsonMappingException je) {
        // message tags not in Graph API 2.5 format, ignore this exception and try another way
      }
  
      try {
        JsonObject rawMessageTagsObject = jsonMapper.toJavaObject(rawMessageTags, JsonObject.class);
        for (String key : rawMessageTagsObject.names()) {
          String tagArrayString = rawMessageTagsObject.get(key).toString();
          messageTags.addAll(jsonMapper.toJavaList(tagArrayString, MessageTag.class));
        }
      } catch (FacebookJsonMappingException je) {
        // cannot parse message tags, but don't break the flow here
      }
    }
docs: Post-JSON-mapping operation that populates the {@code messageTags} field "by hand".
  
  @param jsonMapper
  The {@code JsonMapper} that was used to map to this type.