private void constructHeaderRow(Sink sink, List issueList, ResourceBundle bundle) {
    if (issueList == null) {
      return;
    }

    sink.table();

    sink.tableRow();

    for (int columnIndex = 0; columnIndex < columns.length; columnIndex++) {
      switch (columns[columnIndex]) {
        case IssuesReportHelper.COLUMN_ASSIGNEE:
          sinkHeader(sink, bundle.getString("report.issues.label.assignee"));
          break;

        case IssuesReportHelper.COLUMN_COMPONENT:
          sinkHeader(sink, bundle.getString("report.issues.label.component"));
          break;

        case IssuesReportHelper.COLUMN_CREATED:
          sinkHeader(sink, bundle.getString("report.issues.label.created"));
          break;

        case IssuesReportHelper.COLUMN_FIX_VERSION:
          sinkHeader(sink, bundle.getString("report.issues.label.fixVersion"));
          break;

        case IssuesReportHelper.COLUMN_ID:
          sinkHeader(sink, bundle.getString("report.issues.label.id"));
          break;

        case IssuesReportHelper.COLUMN_KEY:
          sinkHeader(sink, bundle.getString("report.issues.label.key"));
          break;

        case IssuesReportHelper.COLUMN_PRIORITY:
          sinkHeader(sink, bundle.getString("report.issues.label.priority"));
          break;

        case IssuesReportHelper.COLUMN_REPORTER:
          sinkHeader(sink, bundle.getString("report.issues.label.reporter"));
          break;

        case IssuesReportHelper.COLUMN_RESOLUTION:
          sinkHeader(sink, bundle.getString("report.issues.label.resolution"));
          break;

        case IssuesReportHelper.COLUMN_STATUS:
          sinkHeader(sink, bundle.getString("report.issues.label.status"));
          break;

        case IssuesReportHelper.COLUMN_SUMMARY:
          sinkHeader(sink, bundle.getString("report.issues.label.summary"));
          break;

        case IssuesReportHelper.COLUMN_TYPE:
          sinkHeader(sink, bundle.getString("report.issues.label.type"));
          break;

        case IssuesReportHelper.COLUMN_UPDATED:
          sinkHeader(sink, bundle.getString("report.issues.label.updated"));
          break;

        case IssuesReportHelper.COLUMN_VERSION:
          sinkHeader(sink, bundle.getString("report.issues.label.version"));
          break;

        default:
          // Do not add a header for this column
          break;
      }
    }

    sink.tableRow_();
  }