static void populateListViewWithExecutablesInO2Folders(ListView lvTargetListView)
 {
     var imageKey = 0;
     if (lvTargetListView.okThread(delegate { populateListViewWithExecutablesInO2Folders(lvTargetListView); }))
     {
         var executableFiles = new List<String>();
         executableFiles.AddRange(Files.getFilesFromDir_returnFullPath(DI.config.CurrentExecutableDirectory, "*.exe"));
         executableFiles.AddRange(Files.getFilesFromDir_returnFullPath(DI.config.O2TempDir, "*.exe"));
         lvTargetListView.Items.Clear();
         foreach (var file in executableFiles)
         {
             var item = new ListViewItem.ListViewSubItem { Text = Path.GetFileName(file), Tag = file };
             lvTargetListView.Items.Add(new ListViewItem(new[] { item }, imageKey));
         }
     }
 }