This is not right. This should not run in parallel with the query below. Also, you should take into account that this method will be called again if the user clicks on Refresh, in which case you'll need to query all the directories again and update the ChangeSet accordingly (removing stuff if necessary). That's what LoadStatus does, so maybe all you have to do is collect the new version infos and add the to newList.