CodeValue.CodeCommander.FilterManager.ProcessFilters C# (CSharp) Method

ProcessFilters() private method

private ProcessFilters ( System.CommandBase command ) : bool
command System.CommandBase
return bool
        private bool ProcessFilters(CommandBase command)
        {
            IFilter[] localFilters = null;
            while (true)
            {
                lock (holdChanges)
                {
                    localFilters = Filters.OrderBy(f => f.Order).ToArray();
                    _filtersChanged = false;
                }
                if (!localFilters.Any()) return true;
                int index = 0;
                while (index < localFilters.Count() && !_filtersChanged)
                {
                    bool result = localFilters[index++].Process(command);
                    if (!result) return false;
                }
                if (!_filtersChanged) return true;
            }
        }