@Override
public Location deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {
if (jp.getCurrentToken() == JsonToken.START_OBJECT) {
return jp.readValueAs(Location.class);
}
return new Location(jp.getText());
}