public static bool TryGetWordValue <T>(this MaskDictionary <T> table, IWordItem word, out T value)
        {
            if (table == null)
            {
                throw new System.ArgumentNullException(nameof(table));
            }

            if (word == null)
            {
                throw new System.ArgumentNullException(nameof(word));
            }

            if (table.TryGetValue(word.Text, out value))
            {
                return(true);
            }

            if (!string.IsNullOrEmpty(word.Stemmed) &&
                word.Stemmed != word.Text)
            {
                if (table.TryGetValue(word.Stemmed, out value))
                {
                    return(true);
                }
            }

            return(false);
        }
 public void Setup()
 {
     table          = new Dictionary <string, int>();
     table["Test"]  = 2;
     masked         = new MaskDictionary <int>();
     masked["Test"] = 2;
 }