i just tried this naive approach ``` private fun &...
# serialization
n
i just tried this naive approach
Copy code
private fun <T> findAllDescriptors(serializer: DeserializationStrategy<T>): Set<SerialDescriptor> {
        val descriptors = mutableSetOf<SerialDescriptor>()

        serializer.descriptor.collectElementDescriptors(descriptors)

        return descriptors
    }

    private fun SerialDescriptor.collectElementDescriptors(descriptors: MutableSet<SerialDescriptor>) {
        for (childDescriptor in this.elementDescriptors()) {
            if(descriptors.contains(childDescriptor)) continue

            childDescriptor.collectElementDescriptors(descriptors)

            descriptors += childDescriptor
        }
    }