Использование Parceler с классом данных Kotlin с конструктором для сериализации

Есть ли способ использовать Parceler с классами данных Kotlin и конструктором для сериализации без использования аннотации @ParcelProperty для каждого поля?

Если я попытаюсь использовать библиотеку следующим образом:

 @Parcel data class Valve @ParcelConstructor constructor(val size: Int) 

Я получаю Error:Parceler: No corresponding property found for constructor parameter arg0 . Но если я добавлю @ParcelProperty("size") он будет работать отлично.
Почему это?

Обновление :
Есть и другой способ использования этой библиотеки.
Я мог бы просто удалить аннотацию @ParcelConstructor , но тогда я получу ошибку
Error:Parceler: No @ParcelConstructor annotated constructor and no default empty bean constructor found.
Я думаю, что (не проверял его) я также мог бы сделать все параметры конструктора необязательными и добавить @JvmOverloads но у @JvmOverloads есть побочный эффект, который я должен проверить на все свойства класса, если они являются нулевыми или нет.

Обновление 2 :
Это то, что сработало для меня:

 @Parcel data class Valve(val size: Int? = null) 

Короче сгенерированный Java-класс должен иметь пустой конструктор по умолчанию. Один из способов добиться этого – сделать так, как указано выше – все переменные должны иметь значения по умолчанию.

    Согласно документам, Parceler по умолчанию работает с публичными полями. Но обычный data class Kotlin (как в вашем примере) скорее является «традиционным компонентом getter / setter», так как каждое свойство Kotlin представлено частным полем и getter / [setter].

    TL; ДР: Я думаю, что это сработает:

     @Parcel(Serialization.BEAN) data class Valve(val size: Int = 10) 

    Обратите внимание на значение по умолчанию, оно позволяет Kotlin автоматически генерировать дополнительный пустой конструктор, который требуется спецификацией Java Been.

    Другим способом было бы отметить конструктор, который у нас уже есть:

     @Parcel(Serialization.BEAN) data class Driver @ParcelConstructor constructor(val name: String) 

    Конкретный документ: https://github.com/johncarl81/parceler#gettersetter-serialization

    Я знаю, что у этого вопроса уже есть ответ, но для будущих зрителей, которые также пытаются заставить Parceler работать с объектами данных kotlin, я написал новый обработчик аннотаций для создания шаблона Parcelable для классов данных Kotlin. Он предназначен для массового сокращения кода шаблона при создании ваших классов данных. Исправлено:

    https://github.com/grandstaish/paperparcel

    Применение:

    Аннотируйте свой класс данных с помощью @PaperParcel , реализуйте PaperParcelable и добавьте статический экземпляр JVM созданного CREATOR например:

     @PaperParcel data class Example( val test: Int, ... ) : PaperParcelable { companion object { @JvmField val CREATOR = PaperParcelExample.CREATOR } } 

    Теперь ваш класс данных Parcelable и может быть передан непосредственно в Bundle или Intent

    Изменить: обновить с помощью новейшего API

    Просто добавьте конструктор по умолчанию:

     @Parcel data class Valve(val size: Int) { constructor() : this(0) }