in client/src/main/scala/com.gu.contentapi.client/ContentApiClient.scala [56:62]
private def unfoldM[A, B](f: B => (A, Option[Future[B]]))(fb: Future[B])(implicit ec: ExecutionContext): Future[List[A]] =
fb.flatMap { b =>
f(b) match {
case (a, None) => Future.successful(a :: Nil)
case (a, Some(b)) => unfoldM(f)(b).map(a :: _)
}
}