        addAddress: function (address, name, type, id) {
            if (name) {
                name = this.getHelper().escapeString(name);
            }

            if (this.justAddedAddress) {
                this.deleteAddress(this.justAddedAddress);
            }
            this.justAddedAddress = address;
            setTimeout(function () {
                this.justAddedAddress = null;
            }.bind(this), 100);

            address = address.trim();

            if (!type) {
                var arr = address.match(this.emailAddressRegExp);
                if (!arr || !arr.length) return;
                address = arr[0];
            }

            if (!~this.addressList.indexOf(address)) {
                this.addressList.push(address);
                this.nameHash[address] = name;

                if (type) {
                    this.typeHash[address] = type;
                }
                if (id) {
                    this.idHash[address] = id;
                }

                this.addAddressHtml(address, name);
                this.trigger('change');
            }
        },
The software does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.