text: in my compose multiplatform app I'm using the following code to retrieve image from url network using java API:
  @Composable
  fun <T> AsyncImage(
      load: suspend () -> T,
      painterFor: @Composable (T) -> Painter,
      contentDescription: String,
      modifier: Modifier = Modifier,
      contentScale: ContentScale = ContentScale.Fit,
  ) {
      val image: T? by produceState<T?>(null) {
          value = withContext(Dispatchers.IO) {
              try {
                  load()
              } catch (e: IOException) {
                  e.printStackTrace()
                  null
              }
          }
      }
      if (image != null) {
          Image(
              painter = painterFor(image!!),
              contentDescription = contentDescription,
              contentScale = contentScale,
              modifier = modifier
          )
      } else{
          Image(
              painter = painterResource("drawable/ic_canette_black_transparent.svg"),
              contentDescription = null,
              contentScale = contentScale,
              modifier = modifier,
          )
      }
  }
  fun loadImageBitmap(url: String): ImageBitmap =
      URL(url).openStream().buffered().use(::loadImageBitmap)
  
  Now I'm not using Java API anymore, instead I'll be using Ktor to retrieve the image and cache it disk (I'm implementing this on the windows desktop version of the app).
  Update the code by using Ktor and implement the caching feature where the images get stored to hardrive. I don't want the code for Android. I want the code for desktop windows