Program: 70077
Project: 70077
Buggy source:
/** 
 * Build the style of table content
 */
public void buildTableStyle(ITableContent table,StringBuffer styleBuffer){
  addDefaultTableStyles(styleBuffer);
  IStyle style=table.getStyle();
  CSSValue display=style.getProperty(IStyle.STYLE_DISPLAY);
  if (IStyle.NONE_VALUE == display) {
    styleBuffer.append("String_Node_Str");
  }
 else   if (IStyle.INLINE_VALUE == display || IStyle.INLINE_BLOCK_VALUE == display) {
    styleBuffer.append("String_Node_Str");
  }
  DimensionType height=table.getHeight();
  if (null != height) {
    buildSize(styleBuffer,HTMLTags.ATTR_HEIGHT,height);
  }
  DimensionType width=table.getWidth();
  if (null != width) {
    buildSize(styleBuffer,HTMLTags.ATTR_WIDTH,width);
  }
 else {
    if (!"String_Node_Str".equalsIgnoreCase(style.getCanShrink())) {
      styleBuffer.append("String_Node_Str");
    }
  }
  if (HTMLRenderOption.LAYOUT_PREFERENCE_FIXED.equals(layoutPreference)) {
    if (!"String_Node_Str".equalsIgnoreCase(style.getCanShrink())) {
      styleBuffer.append("String_Node_Str");
    }
  }
  String value=style.getTextAlign();
  if (null != value) {
    styleBuffer.append("String_Node_Str");
    styleBuffer.append(value);
    styleBuffer.append("String_Node_Str");
  }
  style=getElementStyle(table);
  if (style == null) {
    return;
  }
  AttributeBuilder.buildFont(styleBuffer,style);
  AttributeBuilder.buildBox(styleBuffer,style);
  AttributeBuilder.buildBackground(styleBuffer,style,reportEmitter);
  AttributeBuilder.buildText(styleBuffer,style);
  AttributeBuilder.buildVisual(styleBuffer,style);
  AttributeBuilder.buildTextDecoration(styleBuffer,style);
}

Fixed version (ground truth):
/** 
 * Build the style of table content
 */
public void buildTableStyle(ITableContent table,StringBuffer styleBuffer){
  addDefaultTableStyles(styleBuffer);
  IStyle style=table.getStyle();
  CSSValue display=style.getProperty(IStyle.STYLE_DISPLAY);
  if (IStyle.NONE_VALUE == display) {
    styleBuffer.append("String_Node_Str");
  }
 else   if (IStyle.INLINE_VALUE == display || IStyle.INLINE_BLOCK_VALUE == display) {
    styleBuffer.append("String_Node_Str");
  }
  DimensionType height=table.getHeight();
  if (null != height) {
    buildSize(styleBuffer,HTMLTags.ATTR_HEIGHT,height);
  }
  DimensionType width=table.getWidth();
  if (null != width) {
    buildSize(styleBuffer,HTMLTags.ATTR_WIDTH,width);
  }
 else {
    if (!"String_Node_Str".equalsIgnoreCase(style.getCanShrink())) {
      boolean absoluteWidth=true;
      for (int i=0; i < table.getColumnCount(); i++) {
        IColumn column=table.getColumn(i);
        DimensionType columnWidth=column.getWidth();
        if (columnWidth == null) {
          absoluteWidth=false;
          break;
        }
 else {
          if ("String_Node_Str".endsWith(columnWidth.getUnits())) {
            absoluteWidth=false;
            break;
          }
        }
      }
      if (!absoluteWidth) {
        styleBuffer.append("String_Node_Str");
      }
    }
  }
  if (HTMLRenderOption.LAYOUT_PREFERENCE_FIXED.equals(layoutPreference)) {
    if (!"String_Node_Str".equalsIgnoreCase(style.getCanShrink())) {
      styleBuffer.append("String_Node_Str");
    }
  }
  String value=style.getTextAlign();
  if (null != value) {
    styleBuffer.append("String_Node_Str");
    styleBuffer.append(value);
    styleBuffer.append("String_Node_Str");
  }
  style=getElementStyle(table);
  if (style == null) {
    return;
  }
  AttributeBuilder.buildFont(styleBuffer,style);
  AttributeBuilder.buildBox(styleBuffer,style);
  AttributeBuilder.buildBackground(styleBuffer,style,reportEmitter);
  AttributeBuilder.buildText(styleBuffer,style);
  AttributeBuilder.buildVisual(styleBuffer,style);
  AttributeBuilder.buildTextDecoration(styleBuffer,style);
}