override fun visit()

in plugin-dotnet-agent/src/main/kotlin/jetbrains/buildServer/dotnet/RegistryBasedDotnetWorkloadProvider.kt [35:55]


                    override fun visit(key: WindowsRegistryKey): Boolean {
                        if (seenKeys.contains(key.regKey) || key.parts.size > EXPECTED_DEPTH || key.parts.size < MIN_DEPTH)
                            return true
                        seenKeys.add(key.regKey)

                        val keyName = key.parts.last()
                        if (isPlatformValid(keyName) || Version.isValid(keyName)) {
                            val visitor = this
                            _windowsRegistry.accept(key, visitor, false)
                        }

                        val keys = key.parts.takeLast(3)
                        val platform = keys[0]
                        val version = keys[1]
                        val workload = keys[2]

                        if (isPlatformValid(platform) && Version.isValid(version) && key.parts.size == EXPECTED_DEPTH && workload.isNotEmpty())
                            workloads.computeIfAbsent(Version.parse(version)) { mutableSetOf() }.add(workload)

                        return true
                    }