private string[] ProcessFiles(string[] files)
{
// check the parameters
Debug.AssertNotNull(files, "Files is null");
if(_fileFilter == null || files.Length == 0) {
return files;
}
List<string> allowedFiles = new List<string>();
int count = files.Length;
for(int i = 0; i < count; i++) {
if(_fileFilter.AllowFile(files[i])) {
allowedFiles.Add(files[i]);
}
}
return allowedFiles.ToArray();
}