protected void sinkCell(Sink sink, String text) {
   sink.tableCell();
   if (text != null && text.length() > 0) {
     sink.text(text);
   } else {
     sink.nonBreakingSpace();
   }
   sink.tableCell_();
 }
 protected void sinkHeader(Sink sink, String header) {
   sink.tableHeaderCell();
   if (header != null && header.length() > 0) {
     sink.text(header);
   } else {
     sink.nonBreakingSpace();
   }
   sink.tableHeaderCell_();
 }
 protected void sinkCellTab(Sink sink, String text, int nbTabulation) {
   sink.tableCell();
   int loop = AbstractDashBoardGenerator.SPACE_NUMBER * nbTabulation;
   for (int i = 0; i < loop; i++) {
     sink.nonBreakingSpace();
   }
   sink.text(text);
   sink.tableCell_();
 }
 protected void sinkCellTabWithLink(Sink sink, String text, int nbTabulation, String link) {
   // sink.tableCell();
   sink.rawText("<td NOWRAP>");
   int loop = AbstractDashBoardGenerator.SPACE_NUMBER * nbTabulation;
   for (int i = 0; i < loop; i++) {
     sink.nonBreakingSpace();
   }
   sink.link(link);
   sink.text(text);
   sink.link_();
   sink.tableCell_();
 }