visible children of a node = children that are expanded, right?
if yes, this is not correct; we may refresh a node that has 10 children visible, but none expanded; in this case, the current algorithm, wouldn't refresh them!