override fun matches()

in graphql-dgs/src/main/kotlin/com/netflix/graphql/dgs/internal/method/InputObjectMapperConverter.kt [32:52]


    override fun matches(
        sourceType: TypeDescriptor,
        targetType: TypeDescriptor,
    ): Boolean =
        sourceType.isMap &&
            !targetType.isMap &&
            !targetType.type.isAssignableFrom(Optional::class.java)

    override fun convert(
        source: Any?,
        sourceType: TypeDescriptor,
        targetType: TypeDescriptor,
    ): Any {
        @Suppress("unchecked_cast")
        val mapInput = source as Map<String, *>
        return if (KotlinDetector.isKotlinType(targetType.type)) {
            inputObjectMapper.mapToKotlinObject(mapInput, targetType.type.kotlin)
        } else {
            inputObjectMapper.mapToJavaObject(mapInput, targetType.type)
        }
    }