in storehaus-core/src/main/scala/com/twitter/storehaus/UnpivotedStore.scala [33:45]
override def put(pair: (K, Option[V])): Future[Unit] = {
val (k, optV) = pair
val (outerK, innerK) = split(k)
store.get(outerK).map { mOpt: Option[Map[InnerK, V]] =>
val optPair: Option[(InnerK, V)] = optV.map { innerK -> _ }
(mOpt, optPair) match {
case (Some(m), Some(p)) => Some(m + p)
case (Some(m), None) => Some(m - innerK)
case (None, Some(p)) => Some(Map(p))
case (None, None) => None
}
}.foreach { newMap => store.put(outerK -> newMap) }.unit
}