From 63f48180b451acc36a988f45ea21a2fa0ffadb5c Mon Sep 17 00:00:00 2001 From: Vyacheslav Karpukhin Date: Sat, 8 Mar 2025 19:49:33 +0100 Subject: [PATCH] KMT-626 ClassCastException for an instance deserialized from external system (cherry picked from commit bb176cb0f7ba0d42a925bfe560547083577bb582) IJ-CR-157151 GitOrigin-RevId: 1a8260a669b82249b2adb0fab9620bfad5be5771 --- .../com/intellij/openapi/externalSystem/model/serialization.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/platform/external-system-api/src/com/intellij/openapi/externalSystem/model/serialization.kt b/platform/external-system-api/src/com/intellij/openapi/externalSystem/model/serialization.kt index 269a87845b49..926f541ae9ca 100644 --- a/platform/external-system-api/src/com/intellij/openapi/externalSystem/model/serialization.kt +++ b/platform/external-system-api/src/com/intellij/openapi/externalSystem/model/serialization.kt @@ -33,8 +33,9 @@ private class DataClassResolver(private val log: Logger) { val serviceClassLoaders = services.map { it.javaClass.classLoader } val set = LinkedHashSet(managerClassLoaders.size + serviceClassLoaders.size) - set.addAll(managerClassLoaders) + // Trying the service classloaders first, since they have a higher chance of succeeding set.addAll(serviceClassLoaders) + set.addAll(managerClassLoaders) return set }