public AbstractProperty(String name, String category, JsonObject data) {
   super(name, category);
   canRandomize =
       !(data.has("random")
           && data.get("random").isJsonPrimitive()
           && data.get("random").getAsJsonPrimitive().isBoolean()
           && !data.get("random").getAsBoolean());
 }
 @Override
 public JsonObject exportToJson() {
   JsonObject json = new JsonObject();
   if (canRandomize) {
     json.addProperty("shouldRandomize", shouldRandomize);
   }
   return json;
 }