@Override
        public ListReference deserialize(JsonParser parser, DeserializationContext deserializationContext)
            throws IOException
        {
            ListReference result = new ListReference();
            JsonToken token = parser.currentToken();
            if (token == JsonToken.START_ARRAY) {
                while (parser.nextToken()!= JsonToken.END_ARRAY) {
                    token = parser.currentToken();
                    if ((token == JsonToken.VALUE_STRING)||(token == JsonToken.START_OBJECT)) {
                        result.add(parser.readValueAs(Reference.class));
                    } else {
                        deserializationContext.handleUnexpectedToken(Reference.class, parser);
                    }
                }
            } else {
                if ((token == JsonToken.VALUE_STRING)||(token == JsonToken.START_OBJECT)) {
                    result.add(parser.readValueAs(Reference.class));
                } else {
                    deserializationContext.handleUnexpectedToken(Reference.class, parser);
                }
            }
            return result;
        }
@Override
        public ListReference deserialize(JsonParser parser, DeserializationContext deserializationContext)