@Override
        public GenericJsContributionOrProperty deserialize(JsonParser parser, DeserializationContext deserializationContext)
            throws IOException
        {
            GenericJsContributionOrProperty result = new GenericJsContributionOrProperty();
            JsonToken token = parser.currentToken();
            if (token == JsonToken.VALUE_STRING) {
                result.value = parser.readValueAs(String.class);
            } else {
                if ((token == JsonToken.VALUE_NUMBER_INT)||(token == JsonToken.VALUE_NUMBER_FLOAT)) {
                    result.value = parser.readValueAs(Double.class);
                } else {
                    if ((token == JsonToken.VALUE_TRUE)||(token == JsonToken.VALUE_FALSE)) {
                        result.value = parser.readValueAs(Boolean.class);
                    } else {
                        if (token == JsonToken.START_OBJECT) {
                            result.value = parser.readValueAs(GenericJsContribution.class);
                        } else {
                            deserializationContext.handleUnexpectedToken(Object.class, parser);
                        }
                    }
                }
            }
            return result;
        }
@Override
        public GenericJsContributionOrProperty deserialize(JsonParser parser, DeserializationContext deserializationContext)