protected IFileObject[] Select(string tableName, QueryNode condition) { if (tableName == "." || tableName == Path.AltDirectorySeparatorChar.ToString() || tableName == Path.DirectorySeparatorChar.ToString()) { tableName = ""; } IFileObject fileObj = FileSystem.ResolveFile(tableName); if (fileObj == null) { throw new ArgumentException(String.Format("File {0} does not exist", tableName)); } QueryFileSelector qFileSelector = new QueryFileSelector(false, ConditionEvaluator, condition); IFileObject[] foundFiles = fileObj.Type == FileType.Folder ? fileObj.FindFiles(qFileSelector) : new IFileObject[0]; return(foundFiles); }