@Nonnull
    static GsonSerializable deserializeRaw(@Nonnull Class<?> clazz, @Nonnull JsonElement element) {
        Class<? extends GsonSerializable> typeCastedClass = clazz.asSubclass(GsonSerializable.class);
        return deserialize(typeCastedClass, element);
    }
Deserializes a JsonElement to a GsonSerializable object.

@param clazz the GsonSerializable class
@param element the json element to deserialize
@return the deserialized object
@throws IllegalStateException if the clazz does not have a deserialization method
helper/src/main/java/me/lucko/helper/gson/GsonSerializable.java