@tailrec private def sanitize()

in http-core/src/main/scala/org/apache/pekko/http/impl/model/parser/LinkHeader.scala [83:100]


  @tailrec private def sanitize(params: Seq[LinkParam], result: immutable.Seq[LinkParam] = Nil,
      seenRel: Boolean = false,
      seenMedia: Boolean = false, seenTitle: Boolean = false, seenTitleS: Boolean = false,
      seenType: Boolean = false): immutable.Seq[LinkParam] =
    params match {
      case Seq(x: LinkParams.rel, tail @ _*) =>
        sanitize(tail, if (seenRel) result else result :+ x, seenRel = true, seenMedia, seenTitle, seenTitleS, seenType)
      case Seq(x: LinkParams.media, tail @ _*) => sanitize(tail, if (seenMedia) result else result :+ x, seenRel,
          seenMedia = true, seenTitle, seenTitleS, seenType)
      case Seq(x: LinkParams.title, tail @ _*) => sanitize(tail, if (seenTitle) result else result :+ x, seenRel,
          seenMedia, seenTitle = true, seenTitleS, seenType)
      case Seq(x: LinkParams.`title*`, tail @ _*) => sanitize(tail, if (seenTitleS) result else result :+ x, seenRel,
          seenMedia, seenTitle, seenTitleS = true, seenType)
      case Seq(x: LinkParams.`type`, tail @ _*) => sanitize(tail, if (seenType) result else result :+ x, seenRel,
          seenMedia, seenTitle, seenTitleS, seenType = true)
      case Seq(head, tail @ _*) => sanitize(tail, result :+ head, seenRel, seenMedia, seenTitle, seenTitleS, seenType)
      case Nil                  => result
    }