abstract fun <T> decodeSerializableElement(    descriptor: SerialDescriptor,     index: Int,     deserializer: DeserializationStrategy<T>,     previousValue: T? = null): T

Decodes value of the type T with the given deserializer.

Implementations of CompositeDecoder may use their format-specific deserializers for particular data types, e.g. handle ByteArray specifically if format is binary.

If value at given index was already decoded with previous decodeSerializableElement call with the same index, previousValue would contain a previously decoded value. This parameter can be used to aggregate multiple values of the given property to the only one. Implementation can safely ignore it and return a new value, effectively using 'the last one wins' strategy, or apply format-specific aggregating strategies, e.g. appending scattered Protobuf lists to a single one.