in bijection-core/src/main/scala/com/twitter/bijection/Pivot.scala [150:162]
def withValue[V]: Pivot[(K, V), K1, (K2, V)] =
Pivot(new AbstractBijection[(K, V), (K1, (K2, V))] {
def apply(pair: (K, V)) = {
val (k, v) = pair
val (k1, k2) = pivot(k)
(k1, (k2, v))
}
override def invert(pair: (K1, (K2, V))) = {
val (k1, (k2, v)) = pair
val k = pivot.invert((k1, k2))
(k, v)
}
})