Program: 68552
Project: 68552
Buggy source:
public static StyleEntry createStyleEntry(IStyle style){
  StyleEntry entry=new StyleEntry();
  populateColor(style,StyleConstants.STYLE_BACKGROUND_COLOR,entry,StyleConstant.BACKGROUND_COLOR_PROP);
  CSSValue borderWidth=style.getProperty(IStyle.STYLE_BORDER_BOTTOM_WIDTH);
  int width=PropertyUtil.getDimensionValue(borderWidth);
  if (width > 0) {
    populateColor(style,StyleConstants.STYLE_BORDER_BOTTOM_COLOR,entry,StyleConstant.BORDER_BOTTOM_COLOR_PROP);
    entry.setProperty(StyleConstant.BORDER_BOTTOM_STYLE_PROP,convertBorderStyle(style.getBorderBottomStyle()));
    entry.setProperty(StyleConstant.BORDER_BOTTOM_WIDTH_PROP,convertBorderWeight(width));
  }
  borderWidth=style.getProperty(IStyle.STYLE_BORDER_TOP_WIDTH);
  width=PropertyUtil.getDimensionValue(borderWidth);
  if (width > 0) {
    populateColor(style,StyleConstants.STYLE_BORDER_TOP_COLOR,entry,StyleConstant.BORDER_TOP_COLOR_PROP);
    entry.setProperty(StyleConstant.BORDER_TOP_STYLE_PROP,convertBorderStyle(style.getBorderTopStyle()));
    entry.setProperty(StyleConstant.BORDER_TOP_WIDTH_PROP,convertBorderWeight(width));
  }
  borderWidth=style.getProperty(IStyle.STYLE_BORDER_LEFT_WIDTH);
  width=PropertyUtil.getDimensionValue(borderWidth);
  if (width > 0) {
    populateColor(style,StyleConstants.STYLE_BORDER_LEFT_COLOR,entry,StyleConstant.BORDER_LEFT_COLOR_PROP);
    entry.setProperty(StyleConstant.BORDER_LEFT_STYLE_PROP,convertBorderStyle(style.getBorderLeftStyle()));
    entry.setProperty(StyleConstant.BORDER_LEFT_WIDTH_PROP,convertBorderWeight(width));
  }
  borderWidth=style.getProperty(IStyle.STYLE_BORDER_RIGHT_WIDTH);
  width=PropertyUtil.getDimensionValue(borderWidth);
  if (width > 0) {
    populateColor(style,StyleConstants.STYLE_BORDER_RIGHT_COLOR,entry,StyleConstant.BORDER_RIGHT_COLOR_PROP);
    entry.setProperty(StyleConstant.BORDER_RIGHT_STYLE_PROP,convertBorderStyle(style.getBorderRightStyle()));
    entry.setProperty(StyleConstant.BORDER_RIGHT_WIDTH_PROP,convertBorderWeight(width));
  }
  populateColor(style,StyleConstants.STYLE_COLOR,entry,StyleConstant.COLOR_PROP);
  entry.setProperty(StyleConstant.FONT_FAMILY_PROP,ExcelUtil.getValue(style.getFontFamily()));
  entry.setProperty(StyleConstant.FONT_SIZE_PROP,convertFontSize(style.getProperty(IStyle.STYLE_FONT_SIZE)));
  entry.setProperty(StyleConstant.FONT_STYLE_PROP,"String_Node_Str".equalsIgnoreCase(style.getFontStyle()));
  entry.setProperty(StyleConstant.FONT_WEIGHT_PROP,"String_Node_Str".equalsIgnoreCase(style.getFontWeight()));
  entry.setProperty(StyleConstant.TEXT_LINE_THROUGH_PROP,"String_Node_Str".equalsIgnoreCase(style.getTextLineThrough()));
  entry.setProperty(StyleConstant.TEXT_UNDERLINE_PROP,"String_Node_Str".equalsIgnoreCase(style.getTextUnderline()));
  entry.setProperty(StyleConstant.H_ALIGN_PROP,convertHAlign(style.getTextAlign(),style.getDirection()));
  entry.setProperty(StyleConstant.V_ALIGN_PROP,convertVAlign(style.getVerticalAlign()));
  entry.setProperty(StyleConstant.DATE_FORMAT_PROP,style.getDateFormat());
  entry.setProperty(StyleConstant.NUMBER_FORMAT_PROP,style.getNumberFormat());
  entry.setProperty(StyleConstant.STRING_FORMAT_PROP,style.getStringFormat());
  entry.setProperty(StyleConstant.TEXT_TRANSFORM,style.getTextTransform());
  entry.setProperty(StyleConstant.DIRECTION_PROP,style.getDirection());
  entry.setProperty(StyleConstant.WHITE_SPACE,style.getWhiteSpace());
  return entry;
}

Fixed version (ground truth):
public static StyleEntry createStyleEntry(IStyle style,StyleEntry parent){
  StyleEntry entry=new StyleEntry();
  populateColor(style,StyleConstants.STYLE_BACKGROUND_COLOR,entry,StyleConstant.BACKGROUND_COLOR_PROP);
  CSSValue borderWidth=style.getProperty(IStyle.STYLE_BORDER_BOTTOM_WIDTH);
  int width=PropertyUtil.getDimensionValue(borderWidth);
  if (width > 0) {
    populateColor(style,StyleConstants.STYLE_BORDER_BOTTOM_COLOR,entry,StyleConstant.BORDER_BOTTOM_COLOR_PROP);
    entry.setProperty(StyleConstant.BORDER_BOTTOM_STYLE_PROP,convertBorderStyle(style.getBorderBottomStyle()));
    entry.setProperty(StyleConstant.BORDER_BOTTOM_WIDTH_PROP,convertBorderWeight(width));
  }
  borderWidth=style.getProperty(IStyle.STYLE_BORDER_TOP_WIDTH);
  width=PropertyUtil.getDimensionValue(borderWidth);
  if (width > 0) {
    populateColor(style,StyleConstants.STYLE_BORDER_TOP_COLOR,entry,StyleConstant.BORDER_TOP_COLOR_PROP);
    entry.setProperty(StyleConstant.BORDER_TOP_STYLE_PROP,convertBorderStyle(style.getBorderTopStyle()));
    entry.setProperty(StyleConstant.BORDER_TOP_WIDTH_PROP,convertBorderWeight(width));
  }
  borderWidth=style.getProperty(IStyle.STYLE_BORDER_LEFT_WIDTH);
  width=PropertyUtil.getDimensionValue(borderWidth);
  if (width > 0) {
    populateColor(style,StyleConstants.STYLE_BORDER_LEFT_COLOR,entry,StyleConstant.BORDER_LEFT_COLOR_PROP);
    entry.setProperty(StyleConstant.BORDER_LEFT_STYLE_PROP,convertBorderStyle(style.getBorderLeftStyle()));
    entry.setProperty(StyleConstant.BORDER_LEFT_WIDTH_PROP,convertBorderWeight(width));
  }
  borderWidth=style.getProperty(IStyle.STYLE_BORDER_RIGHT_WIDTH);
  width=PropertyUtil.getDimensionValue(borderWidth);
  if (width > 0) {
    populateColor(style,StyleConstants.STYLE_BORDER_RIGHT_COLOR,entry,StyleConstant.BORDER_RIGHT_COLOR_PROP);
    entry.setProperty(StyleConstant.BORDER_RIGHT_STYLE_PROP,convertBorderStyle(style.getBorderRightStyle()));
    entry.setProperty(StyleConstant.BORDER_RIGHT_WIDTH_PROP,convertBorderWeight(width));
  }
  populateColor(style,StyleConstants.STYLE_COLOR,entry,StyleConstant.COLOR_PROP);
  entry.setProperty(StyleConstant.FONT_FAMILY_PROP,ExcelUtil.getValue(style.getFontFamily()));
  entry.setProperty(StyleConstant.FONT_SIZE_PROP,convertFontSize(style.getProperty(IStyle.STYLE_FONT_SIZE)));
  entry.setProperty(StyleConstant.FONT_STYLE_PROP,"String_Node_Str".equalsIgnoreCase(style.getFontStyle()));
  entry.setProperty(StyleConstant.FONT_WEIGHT_PROP,"String_Node_Str".equalsIgnoreCase(style.getFontWeight()));
  entry.setProperty(StyleConstant.TEXT_LINE_THROUGH_PROP,"String_Node_Str".equalsIgnoreCase(style.getTextLineThrough()));
  entry.setProperty(StyleConstant.TEXT_UNDERLINE_PROP,"String_Node_Str".equalsIgnoreCase(style.getTextUnderline()));
  entry.setProperty(StyleConstant.H_ALIGN_PROP,convertHAlign(style.getTextAlign(),style.getDirection()));
  entry.setProperty(StyleConstant.V_ALIGN_PROP,convertVAlign(parent,style.getVerticalAlign()));
  entry.setProperty(StyleConstant.DATE_FORMAT_PROP,style.getDateFormat());
  entry.setProperty(StyleConstant.NUMBER_FORMAT_PROP,style.getNumberFormat());
  entry.setProperty(StyleConstant.STRING_FORMAT_PROP,style.getStringFormat());
  entry.setProperty(StyleConstant.TEXT_TRANSFORM,style.getTextTransform());
  entry.setProperty(StyleConstant.DIRECTION_PROP,style.getDirection());
  entry.setProperty(StyleConstant.WHITE_SPACE,style.getWhiteSpace());
  return entry;
}