add invokeRecursively to ViewCollection