public Group(string locationsline, string nameline)
        {
            if ((nameline.StartsWith(Constants.StartBracket, StringComparison.OrdinalIgnoreCase)) && (nameline.EndsWith(Constants.EndBracket, StringComparison.OrdinalIgnoreCase)))
            {
                nameline = nameline.TrimStart("(".ToCharArray());
                nameline = nameline.TrimEnd(")".ToCharArray());

                int           locationOnParent = Convert.ToInt16(locationsline);
                IUPACCompound compound         = new IUPACCompound(locationOnParent, nameline);

                Formulas = new List <Formula>();
                Formulas.Add(compound.Formula);
            }
            else
            {
                List <string> locations   = locationsline.Split(",".ToCharArray()).ToList();
                string        chainName   = MultiplyingAffix.RemoveMultiplyingAffixName(nameline);
                int           chainLength = CarbonSubChain.FindSubChainLength(chainName);

                Formulas = new List <Formula>();
                foreach (string location in locations)
                {
                    Formula formula = new Formula(Convert.ToInt16(location), chainName);
                    Formulas.Add(formula);
                }
            }
        }
        public static List <MultiplyingAffix> GetAllMultiplyingAffixes()
        {
            List <MultiplyingAffix> affixes = new List <MultiplyingAffix>();

            for (int counter = 1; counter <= Constants.MaxNumberOfSubChains; counter++)
            {
                MultiplyingAffix affix = new MultiplyingAffix(counter);
                affixes.Add(affix);
            }
            return(affixes);
        }