in bijection-core/src/main/scala-2.12-/com/twitter/bijection/BufferableVersionSpecific.scala [41:58]
def getCollection[T, C](
initbb: ByteBuffer
)(implicit cbf: CanBuildFrom[Nothing, T, C], buf: Bufferable[T]): Try[(ByteBuffer, C)] =
Try {
var bb: ByteBuffer = initbb.duplicate
val size = bb.getInt
var idx = 0
val builder = cbf()
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)
}