in src/it/scala/com/gu/kinesis/ScalaKinesisProducer.scala [55:62]
private[kinesis] implicit def listenableToScalaFuture[A](listenable: ListenableFuture[A]): Future[A] = {
val promise = Promise[A]
val callback = new Runnable {
override def run(): Unit = promise.tryComplete(Try(listenable.get()))
}
listenable.addListener(callback, ExecutionContext.global)
promise.future
}