    __create_table() {
        if (this.table_title !== undefined) {
            var label = document.createElement('label');
            label.innerHTML = this.table_title;
            this.container.appendChild(label);
        }
        this.form = document.createElement('form');
        this.table = document.createElement('table');
        this.table.classList.add("table", "table-bordered", "action-table");
        if (this.classes !== undefined) {
            for (var i in this.classes) {
                this.table.classList.add(this.classes[i]);
            }
        }
        this.thead = document.createElement('thead');
        this.tbody = document.createElement('tbody');
        var trHead = document.createElement('tr');
        for (var col of this.header) {
            var th = document.createElement('th');
            th.innerHTML = col;
            trHead.appendChild(th);
        }
        this.thead.appendChild(trHead);

        this.__add_control_row();

        for (var row of this.data) {
            this.__add_row(row);
        }
        this.table.appendChild(this.thead);
        this.table.appendChild(this.tbody);
        this.form.appendChild(this.table);
        this.container.appendChild(this.form);
    }
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.