Program: 42439
Project: 42439
Buggy source:
protected List<String> extractContentsId(IContentListTagBean bean,RequestContext reqCtx) throws ApsSystemException {
  List<String> contentsId=null;
  try {
    List<UserFilterOptionBean> userFilters=bean.getUserFilterOptions();
    Widget widget=(Widget)reqCtx.getExtraParam(SystemConstants.EXTRAPAR_CURRENT_WIDGET);
    ApsProperties config=(null != widget) ? widget.getConfig() : null;
    if (null == bean.getContentType() && null != config) {
      bean.setContentType(config.getProperty(WIDGET_PARAM_CONTENT_TYPE));
    }
    if (null == bean.getContentType()) {
      throw new ApsSystemException("String_Node_Str");
    }
    if (null == bean.getCategory() && null != config && null != config.getProperty(SHOWLET_PARAM_CATEGORY)) {
      bean.setCategory(config.getProperty(SHOWLET_PARAM_CATEGORY));
    }
    this.addWidgetFilters(bean,config,WIDGET_PARAM_FILTERS,reqCtx);
    if (null != userFilters && userFilters.size() > 0) {
      for (      UserFilterOptionBean userFilter : userFilters) {
        EntitySearchFilter filter=userFilter.getEntityFilter();
        if (null != filter) {
          bean.addFilter(filter);
        }
      }
    }
    String[] categories=this.getCategories(bean.getCategories(),config,userFilters);
    Collection<String> userGroupCodes=this.getAllowedGroups(reqCtx);
    boolean orCategoryFilterClause=this.extractOrCategoryFilterClause(config);
    contentsId=this.getContentManager().loadPublicContentsId(bean.getContentType(),categories,orCategoryFilterClause,bean.getFilters(),userGroupCodes);
  }
 catch (  Throwable t) {
    _logger.error("String_Node_Str",t);
    throw new ApsSystemException("String_Node_Str",t);
  }
  return contentsId;
}

Fixed version (ground truth):
protected List<String> extractContentsId(IContentListTagBean bean,RequestContext reqCtx) throws ApsSystemException {
  List<String> contentsId=null;
  try {
    List<UserFilterOptionBean> userFilters=bean.getUserFilterOptions();
    Widget widget=(Widget)reqCtx.getExtraParam(SystemConstants.EXTRAPAR_CURRENT_WIDGET);
    ApsProperties config=(null != widget) ? widget.getConfig() : null;
    if (null == bean.getContentType() && null != config) {
      bean.setContentType(config.getProperty(WIDGET_PARAM_CONTENT_TYPE));
    }
    if (null == bean.getContentType()) {
      throw new ApsSystemException("String_Node_Str");
    }
    if (null == bean.getCategory() && null != config && null != config.getProperty(SHOWLET_PARAM_CATEGORY)) {
      bean.setCategory(config.getProperty(SHOWLET_PARAM_CATEGORY));
    }
    EntitySearchFilter[] filtersToUse=this.createWidgetFilters(bean,config,WIDGET_PARAM_FILTERS,reqCtx);
    if (null != userFilters && userFilters.size() > 0) {
      for (      UserFilterOptionBean userFilter : userFilters) {
        EntitySearchFilter filter=userFilter.getEntityFilter();
        if (null != filter) {
          filtersToUse=ArrayUtils.add(filtersToUse,filter);
        }
      }
    }
    String[] categories=this.getCategories(bean.getCategories(),config,userFilters);
    Collection<String> userGroupCodes=this.getAllowedGroups(reqCtx);
    boolean orCategoryFilterClause=this.extractOrCategoryFilterClause(config);
    contentsId=this.getContentManager().loadPublicContentsId(bean.getContentType(),categories,orCategoryFilterClause,filtersToUse,userGroupCodes);
  }
 catch (  Throwable t) {
    _logger.error("String_Node_Str",t);
    throw new ApsSystemException("String_Node_Str",t);
  }
  return contentsId;
}