@Override
public ModelDistribution<?> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) {
GsonBuilder builder = new GsonBuilder();
builder.registerTypeAdapter(Vector.class, new JsonVectorAdapter());
builder.registerTypeAdapter(DistanceMeasure.class, new JsonDistanceMeasureAdapter());
Gson gson = builder.create();
JsonObject obj = json.getAsJsonObject();
String klass = obj.get("class").getAsString();
String model = obj.get("model").getAsString();
ClassLoader ccl = Thread.currentThread().getContextClassLoader();
Class<?> cl = null;