in module/geb-core/src/main/groovy/geb/Browser.groovy [1069:1084]
private String executeNewWindowOpening(Closure windowOpeningBlock, wait) {
def originalWindows = availableWindows
windowOpeningBlock.call()
if (wait) {
config.getWaitForParam(wait).waitFor { (availableWindows - originalWindows).size() == 1 }
}
def newWindows = (availableWindows - originalWindows) as List
if (newWindows.size() != 1) {
def message = newWindows ? 'There has been more than one window opened' : 'No new window has been opened'
throw new NoNewWindowException(message)
}
newWindows.first()
}