private void buildTableHeader(TableRowBuilder tr, Column<T, ?> column, Header<?> header,
boolean isSortable, boolean isSorted, boolean isSortAscending, StringBuilder classesBuilder,
String sortableStyle, String sortedStyle, int prevColspan, int curColumn) {
if (isSortable) {
classesBuilder.append(sortableStyle);
}
if (isSorted) {
classesBuilder.append(sortedStyle);
}
appendExtraStyles(header, classesBuilder);
TableCellBuilder th = tr.startTH().colSpan(prevColspan).className(classesBuilder.toString());
enableColumnHandlers(th, column);
if (header != null) {
Context context = new Context(0, curColumn - prevColspan, header.getKey());
if (isSortable) {
th.attribute("role", "button");
th.tabIndex(-1);
}
renderSortableHeader(th, context, header, isSorted, isSortAscending);
}
th.endTH();
}