override def prepare()

in core/src/main/scala/com/spotify/featran/transformers/HashNHotEncoder.scala [85:101]


  override def prepare(a: Seq[String]): HLL =
    a.map(hllMonoid.toHLL(_)).fold(hllMonoid.zero)(hllMonoid.plus)

  override def buildFeatures(a: Option[Seq[String]], c: Int, fb: FeatureBuilder[_]): Unit =
    a match {
      case Some(xs) =>
        var prev = -1
        SortedSet(xs.map(HashEncoder.bucket(_, c)): _*).foreach { curr =>
          val gap = curr - prev - 1
          if (gap > 0) fb.skip(gap)
          fb.add(name + '_' + curr, 1.0)
          prev = curr
        }
        val gap = c - prev - 1
        if (gap > 0) fb.skip(gap)
      case None => fb.skip(c)
    }