in bijection-json/src/main/scala/com/twitter/bijection/json/JsonInjection.scala [157:172]
override def invert(n: JsonNode): Try[Map[String, V]] = {
val builder = Map.newBuilder[String, V]
builder.clear
var cnt = 0
n.getFields.asScala.foreach { kv =>
val value = fromJsonNode[V](kv.getValue)
if (value.isSuccess) {
cnt += 1
builder += (kv.getKey -> value.get)
} else {
return InversionFailure.failedAttempt(n)
}
}
val res = builder.result
if (res.size == cnt) Success(res) else InversionFailure.failedAttempt(n)
}