in bijection-core/src/main/scala-2.13+/com/twitter/bijection/BufferableVersionSpecific.scala [29:46]
def getCollection[T, C](
initbb: ByteBuffer
)(implicit fact: Factory[T, C], buf: Bufferable[T]): Try[(ByteBuffer, C)] = Try {
var bb: ByteBuffer = initbb.duplicate
val size = bb.getInt
var idx = 0
val builder = fact.newBuilder
builder.clear()
builder.sizeHint(size)
while (idx < size) {
val tup = buf.get(bb).get
bb = tup._1
builder += tup._2
idx += 1
}
(bb, builder.result)
}