I have several promises in my program and I need to **wait on all** of them simulateneously before moving on. For `Grails`, I found the following example:

```
def p1 = task { 2 * 2 }
def p2 = task { 4 * 4 }
def p3 = task { 8 * 8 }
assert [4,16,64] == waitAll(p1, p2, p3)

```

I know Grails is heavily relying on [GPars](http://www.gpars.org/guide/guide/index.html), but I cannot find the reference to `waitAll` anywhere in there. `Grails` also supports [PromiseList](http://grails.github.io/grails-doc/2.4.x/api/grails/async/PromiseList.html), which I cannot find in `Groovy` or `GPars` either. Can anyone point me in the right direction?