in util-core/src/main/scala/com/twitter/util/Time.scala [236:244]
def floor(increment: Duration): This = (this, increment) match {
case (num, ns) if num.isZero && ns.isZero => ops.Undefined
case (num, ns) if num.isFinite && ns.isZero =>
if (num.inNanoseconds < 0) ops.Bottom else ops.Top
case (num, denom) if num.isFinite && denom.isFinite =>
ops.fromNanoseconds((num.inNanoseconds / denom.inNanoseconds) * denom.inNanoseconds)
case (self, n) if n.isFinite => self
case (_, _) => ops.Undefined
}