I think we need `apply()` here because we want to push the contents of `newNodes` on to `nodes`.  Just `nodes.push(newNodes)` would add the entire array object as a single item in `nodes`, wouldn't it?