public bool LoadOptionalWords(string line)
        {
            try
            {
                // 3 is not a magic number, it's just to make sure that the white space(s) are considered as optional keywords mistakenly
                if (line.Length > 3)
                {
                    HasOptionalWords = true;
                    string[] tempKeywords = line.Split(new char[] { ',' }, line.Length, StringSplitOptions.RemoveEmptyEntries);
                    TotalKeywords += tempKeywords.Length;

                    for (int ind = 0; ind < tempKeywords.Length; ind++)
                    {
                        OtherOptionalWords.Add(
                            _stemmer.Stem(
                                tempKeywords[ind]
                                .Replace("@", "")
                                .Replace("#", "")
                                .ToLower()
                                ).Value
                            );

                        IsOtherOptionalWordsHit.Add(false);
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }