code: func GinkgoRecover() {
  	e := recover()
  	if e != nil {
  		globalFailer.Panic(codelocation.New(1), e)
  	}
  }
docs: //GinkgoRecover should be deferred at the top of any spawned goroutine that (may) call `Fail`
  //Since Gomega assertions call fail, you should throw a `defer GinkgoRecover()` at the top of any goroutine that
  //calls out to Gomega
  //
  //Here's why: Ginkgo's `Fail` method records the failure and then panics to prevent
  //further assertions from running.  This panic must be recovered.  Ginkgo does this for you
  //if the panic originates in a Ginkgo node (an It, BeforeEach, etc...)
  //
  //Unfortunately, if a panic originates on a goroutine *launched* from one of these nodes there's no
  //way for Ginkgo to rescue the panic.  To do this, you must remember to `defer GinkgoRecover()` at the top of such a goroutine.