// Throw if a given unit does exist
        private void ValidateNewSynonym(UnitFactorSynonyms synonyms)
        {
            var preExistingUnit = Units.FindUnit(synonyms);

            if (preExistingUnit != null)
            {
                throw new UnitAlreadyExistsException(preExistingUnit.ToString());
            }
        }
 // Find if some synonym of a given UnitFactor is included in this UnitFactor
 internal bool Contains(UnitFactorSynonyms synonyms)
 {
     foreach (var syn in synonyms.Synonyms)
     {
         if (this.Contains(syn))
         {
             return(true);
         }
     }
     return(false);
 }
 /// <summary>
 /// Add a new unit with a new set of synonyms
 /// </summary>
 /// <param name="synonyms">Object of synonyms</param>
 /// <param name="factor"></param>
 public void AddUnit(UnitFactorSynonyms synonyms, double factor)
 {
     ValidateNewSynonym(synonyms);
     Units.Add(synonyms, factor);
 }