in bijection-core/src/main/scala/com/twitter/bijection/JavaSerializationInjection.scala [50:63]
def invert(bytes: Array[Byte]) = {
val bis = new ByteArrayInputStream(bytes)
val inOpt = Try(new ObjectInputStream(bis))
try {
inOpt
.map { in => klass.cast(in.readObject) }
.recoverWith(InversionFailure.partialFailure(bytes))
} catch {
case t: Throwable => Failure(InversionFailure(bytes, t))
} finally {
bis.close
inOpt.map { _.close }
}
}