htmlWriter.write(rowVarName).write('=').writeCall(null, "_addRow");
htmlWriter.write(rowVarName).write('=').writeMethodCall("_addRow");
    protected void encodeJsRow(IJavaScriptWriter htmlWriter,            TableRenderContext tableContext, int index, String rowId,            int iRowId, boolean selected, boolean checked)            throws WriterException {        FacesContext facesContext = htmlWriter.getFacesContext();        DataColumnComponent dcs[] = tableContext.listColumns();        int columnNumber = dcs.length;        String rowVarName = tableContext.getRowVarName();        String values[] = null;        if (ALLOCATE_ROW_STRINGS) {            values = new String[columnNumber];        }        if (values == null) {            if (index < 1) {                htmlWriter.write("var ");            }            htmlWriter.write(rowVarName).write('=').writeCall(null, "_addRow");            if (rowId != null) {                htmlWriter.writeString(rowId);            } else {                htmlWriter.writeInt(iRowId);            }            if (tableContext.selectable                    && tableContext.clientSelectionFullState == false) {                htmlWriter.write(',').writeBoolean(selected);            }            if (tableContext.checkable                    && tableContext.clientCheckFullState == false) {                htmlWriter.write(',').writeBoolean(checked);            }        }        String images[] = null;        String cellStyleClass[] = null;        int visibleColumns = 0;        int ciIndex = 0;        int csIndex = 0;        for (int i = 0; i < columnNumber; i++) {            DataColumnComponent dc = dcs[i];            int rowState = tableContext.getColumnState(i);            if (rowState == TableRenderContext.SERVER_HIDDEN) {                continue;            }            if (rowId == null || tableContext.getRowValueColumn() != dc) {                String svalue = null;                Object value = dc.getValue(facesContext);                if (value != null) {                    svalue = convertValue(facesContext, dc, value);                }                if (values != null) {                    if (svalue == null) {                        svalue = NULL_VALUE;                    }                    values[i] = svalue;                } else {                    htmlWriter.write(',').writeString(svalue);                }            }            if (rowState != TableRenderContext.VISIBLE) {                continue;            }            if (tableContext.isColumnImageURL(i)) {                String imageURL = dc.getCellImageURL(facesContext);                if (imageURL != null) {                    if (images == null) {                        images = new String[columnNumber];                    }                    images[ciIndex] = imageURL;                }                ciIndex++;            }            if (tableContext.isCellStyleClass(i)) {                String cs = dc.getCellStyleClass(facesContext);                if (cs != null) {                    if (cellStyleClass == null) {                        cellStyleClass = new String[columnNumber];                    }                    cellStyleClass[csIndex] = cs;                }                csIndex++;            }            visibleColumns++;        }        if (values != null) {            for (int i = 0; i < values.length; i++) {                String v = values[i];                if (v == null || v == NULL_VALUE) {                    continue;                }                values[i] = htmlWriter.allocateString(v);            }            if (index < 1) {                htmlWriter.write("var ");            }            htmlWriter.write(rowVarName).write('=').writeCall(null, "_addRow");            if (rowId != null) {                htmlWriter.writeString(rowId);            } else {                htmlWriter.writeInt(iRowId);            }            if (tableContext.selectable) {                htmlWriter.write(',').writeBoolean(selected);            }            if (tableContext.checkable) {                htmlWriter.write(',').writeBoolean(checked);            }            for (int i = 0; i < values.length; i++) {                String v = values[i];                if (v == null) {                    continue;                }                htmlWriter.write(',');                if (v == NULL_VALUE) {                    htmlWriter.writeNull();                    continue;                }                htmlWriter.write(v);            }        }        htmlWriter.writeln(");");        if (images != null) {            writeRowProperties(htmlWriter, tableContext, ciIndex, rowVarName,                    "f_setCellImages", images);        }        if (cellStyleClass != null) {            writeRowProperties(htmlWriter, tableContext, csIndex, rowVarName,                    "f_setCellStyleClass", cellStyleClass);        }    }