// TODO: return bool
        // This relates to the line that goes with '@'.
        internal void ChangeCurrentAssignee(string newAssignment)
        {
            switch (newAssignment)
            {
            case CriteriaConstants.HOLDER_COUNTRY:
            {
                currentAssignment = AssignTo.HolderCountry;
                break;
            }

            case CriteriaConstants.STOCK_TYPE:
            {
                currentAssignment = AssignTo.StockType;
                break;
            }

            case CriteriaConstants.DIRECTION:
            {
                currentAssignment = AssignTo.Direction;
                break;
            }

            default:
            {
                break;
            }
            }

            if (progress == PreAggProgress.HaveNothing)
            {
                progress = PreAggProgress.HaveName;
            }
        }
        // This relates to the line that goes with '#'.
        internal void AddComparisonValue(string value)
        {
            switch (currentAssignment)
            {
            case AssignTo.Undefined:
            {
                // TODO: Return bool
                break;
            }

            case AssignTo.Direction:
            {
                if (string.Compare(value, StockDirection.Long.ToString().ToLower()) == 0)
                {
                    direction = StockDirection.Long;
                }
                else
                {
                    direction = StockDirection.Short;
                }
                break;
            }

            case AssignTo.HolderCountry:
            {
                holderCountry.Add(value);
                break;
            }

            case AssignTo.StockType:
            {
                if (string.Compare(value, StockType.Common.ToString().ToLower()) == 0)
                {
                    type = StockType.Common;
                }
                else
                {
                    type = StockType.Preferred;
                }
                break;
            }

            default:
            {
                break;
            }
            }

            if (progress == PreAggProgress.HaveComparisonType)
            {
                progress = PreAggProgress.HaveComparisonValue;
                preAggSpecificationsSatisfied = true;
            }
        }
        // This relates to the line that goes with '^'.
        internal void AddComparisonType(string specifier)
        {
            switch (specifier)
            {
            case CriteriaConstants.IN_MATCH_SPECIFIER:
            {
                switch (currentAssignment)
                {
                case AssignTo.Undefined:
                {
                    // TODO: return bool
                    break;
                }

                case AssignTo.Direction:
                {
                    directionCompare = Comparison.IN;
                    break;
                }

                case AssignTo.HolderCountry:
                {
                    countryCompare = Comparison.IN;
                    break;
                }

                case AssignTo.StockType:
                {
                    stockTypeCompare = Comparison.IN;
                    break;
                }
                }
                break;
            }

            case CriteriaConstants.EQUAL_MATCH_SPECIFIER:
            {
                switch (currentAssignment)
                {
                case AssignTo.Undefined:
                {
                    // TODO: return bool
                    break;
                }

                case AssignTo.Direction:
                {
                    directionCompare = Comparison.Equal;
                    break;
                }

                case AssignTo.HolderCountry:
                {
                    countryCompare = Comparison.Equal;
                    break;
                }

                case AssignTo.StockType:
                {
                    stockTypeCompare = Comparison.Equal;
                    break;
                }
                }
                break;
            }

            case CriteriaConstants.NOT_EQUAL_MATCH_SPECIFIER:
            {
                switch (currentAssignment)
                {
                case AssignTo.Undefined:
                {
                    // TODO: return bool
                    break;
                }

                case AssignTo.Direction:
                {
                    directionCompare = Comparison.NotEqual;
                    break;
                }

                case AssignTo.HolderCountry:
                {
                    countryCompare = Comparison.NotEqual;
                    break;
                }

                case AssignTo.StockType:
                {
                    stockTypeCompare = Comparison.NotEqual;
                    break;
                }
                }
                break;
            }

            default:
            {
                break;
            }
            }
            if (progress == PreAggProgress.HaveName)
            {
                progress = PreAggProgress.HaveComparisonType;
            }
        }