private boolean checkFor(GroovyNode groovyNode, Pattern pattern) { if (groovyNode.value() instanceof GroovyList) { GroovyList list = (GroovyList) groovyNode.value(); for (Object member : list) { GroovyNode childNode = (GroovyNode) member; if (checkFor(childNode, pattern)) { return true; } } return false; } else { return pattern.matcher(groovyNode.text()).matches(); } }