вы имели ввиду, что в abstract класс не нужны аннотации gson? Why do you need constructor for abstract class? It will be constructed by Gson reflection.
эта логика будет применена ко всем сущностям в приложении, если нет, то в data класс она реализована именно так? description will not null (Gson set it). Because we know it (from API doc)