text: public override string[] ListAll(){ISet<string> files = new JCG.HashSet<string>();DirectoryNotFoundException exc = null;try{foreach (string f in primaryDir.ListAll()){files.Add(f);}}catch (DirectoryNotFoundException e){exc = e;}try{foreach (string f in secondaryDir.ListAll()){files.Add(f);}}catch (DirectoryNotFoundException ){if (exc != null){throw exc;}if (files.Count == 0){throw; }}if (exc != null && files.Count == 0){throw exc;}return files.ToArray();}