У меня есть объект со следующими атрибутами.
private final String messageBundle;
private final List<String> messageParams;
private final String actionBundle;
private final Map<String, String> data;
private final Optional<Pair<Integer,TimeUnit>> ttl;
private final Optional<Integer> badgeNumber;
private final Optional<String> collapseKey;
Объект находится в библиотеке, я бы предпочел не изменять его только для целей сериализации и хотел бы избежать затрат на создание другого DTO.
Как я могу сериализовать /unserialize Необязательные атрибуты? Необязательный не имеет конструктора по умолчанию (ни apache commons Pair), но я не могу использовать InstanceCreator и не понимаю, как создать TypeAdapter, который просто делегирует сериализацию базовому необязательному контенту.