public synchronized String[] listAll() throws IOException {final Set<String> files = new HashSet<>();for (String f : cacheDirectory.listAll()) {files.add(f);}for (String f : in.listAll()) {files.add(f);}String[] result = files.toArray(new String[files.size()]);Arrays.sort(result);return result;}

public override string[] ListAll(){lock (this){ISet<string> files = new JCG.HashSet<string>();foreach (string f in cache.ListAll()){files.Add(f);}try{foreach (string f in @delegate.ListAll()){files.Add(f);}}catch (DirectoryNotFoundException ){if (files.Count == 0){throw; }}return files.ToArray();}}
