The method `shouldRun` may throw unchecked exception and finally stores new children.
No, it does not change the behavior because the `fFilteredChildren` was changed in every iteration as well:
`for (Iterator<T> iter = getFilteredChildren().iterator(); iter.hasNext(); ) {`
`... iter.remove()...`