[sp]retries exhausted
Also might be more readable to use a for comprehension instead of recursion:

```scala
  def apply[T](n: Int)(f: => T) : T = {
    var result:Option[T] = None
    var throwable:Option[Throwable] = None

    for (i <- 0 until n if result.isEmpty) {
      try {
        result = Option(f)
      } catch {
        case e:Throwable => { throwable = Some(e) }
      }
    }

    if (result.isEmpty && throwable.isDefined) {
      throw new RetriesExhaustedException("%d retries exhausted".format(n), throwable)
    }

    result.get
  }
```

Got the nitpick meter up to 100% !!!