private Parse AddRow(Parse lastRow, DataRow dr, bool markAsError, String desc)
 {
     Parse newRow = new Parse("tr", null, null, null);
     lastRow.More = newRow;
     lastRow = newRow;
     try
     {
         Parse firstCell = new Parse("td",
                 GetStringValue(dr, columnNames[0]), null, null);
         newRow.Parts = firstCell;
         if (markAsError)
         {
             firstCell.AddToBody(Fixture.Gray(desc));
             this.Wrong(firstCell);
         }
         for (int i = 1; i < columnNames.Length; i++)
         {
             Parse nextCell = new Parse("td",
                     GetStringValue(dr, columnNames[i]), null, null);
             firstCell.More = nextCell;
             firstCell = nextCell;
         }
     }
     catch (Exception e)
     {
         this.Exception(newRow, e);
     }
     return lastRow;
 }