@Override
public Element deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context) throws JsonParseException {
Element result = null;
ElementType type = ElementType.valueOfIgnoreCase(
json.getAsJsonObject().get(TYPE_TAG).getAsString());
Type mapType = new TypeToken<Map<String, String>>(){}.getType();
Map<String, String> properties = context.deserialize(
json.getAsJsonObject().get(PROPERTIES_TAG), mapType);