/// <summary>
        /// Добавляет слово и\или значения в словарь
        /// </summary>
        /// <param name="parameters">Первый элемент - слово, последующие - значения</param>
        /// <exception cref="ArgumentNullException">Значение параметров Null</exception>
        /// <returns>
        /// Возвращает сообщение о добавленном слове и\или добавленных значениях
        /// Если значения не заданы, возвращает соотвествующее сообщение
        /// Если новых значений добавлено не было, возвращает соответствующее сообщение
        /// </returns>
        public string Execute(IEnumerable <string> parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters));
            }

            var paramsArray = parameters as string[] ?? parameters.ToArray();

            if (paramsArray.Length < 1)
            {
                return(Default.WordIsNotSet);
            }

            if (paramsArray.Length < 2)
            {
                return(Default.MeansAreNotSet);
            }

            var added = _vocabulary.Add(paramsArray.FirstOrDefault(), paramsArray.Skip(1));

            if (!added.Any())
            {
                return(Default.MeansAreAlreadyAdded);
            }

            var builder = new StringBuilder();
            var values  = added.Aggregate(builder, (sb, res) => sb.Append(res).Append(", "))
                          .Remove(builder.Length - 2, 2);

            return(string.Format(Default.MeansAdded, values));
        }