Program: 35310
Project: 35310
Buggy source:
public AcceptorResult acceptResults(List<SearchResultItem> items,SearchRequest searchRequest,IndexerConfig indexerConfig){
  BaseConfig baseConfig=configProvider.getBaseConfig();
  titleWordCache=new HashMap<>();
  List<SearchResultItem> acceptedResults=new ArrayList<>();
  Multiset<String> reasonsForRejection=HashMultiset.create();
  for (  SearchResultItem item : items) {
    if (!checkForNeededAttributesSuccessfullyMapped(reasonsForRejection,item)) {
      continue;
    }
    if (!checkForPassword(reasonsForRejection,item)) {
      continue;
    }
    if (!checkForForbiddenGroup(reasonsForRejection,item)) {
      continue;
    }
    if (!checkForForbiddenPoster(reasonsForRejection,item)) {
      continue;
    }
    if (!checkForSize(searchRequest,reasonsForRejection,item)) {
      continue;
    }
    if (!checkForAge(searchRequest,reasonsForRejection,item)) {
      continue;
    }
    if (!checkForCategory(searchRequest,reasonsForRejection,item)) {
      continue;
    }
    if (!checkForForbiddenWords(indexerConfig,reasonsForRejection,searchRequest.getInternalData().getExcludedWords(),item)) {
      continue;
    }
    if (!checkRequiredWords(reasonsForRejection,searchRequest.getInternalData().getRequiredWords(),item)) {
      continue;
    }
    boolean applyWordAndRegexRestrictions=baseConfig.getSearching().getApplyRestrictions() == SearchSourceRestriction.BOTH || Objects.equals(searchRequest.getSource().name(),baseConfig.getSearching().getApplyRestrictions().name());
    if (applyWordAndRegexRestrictions) {
      if (!checkRegexes(item,reasonsForRejection,baseConfig.getSearching().getRequiredRegex().orElse(null),baseConfig.getSearching().getForbiddenRegex().orElse(null))) {
        continue;
      }
      if (!checkRequiredWords(reasonsForRejection,baseConfig.getSearching().getRequiredWords(),item)) {
        continue;
      }
      if (!checkForForbiddenWords(indexerConfig,reasonsForRejection,baseConfig.getSearching().getRequiredWords(),item)) {
        continue;
      }
    }
    applyWordAndRegexRestrictions=item.getCategory().getApplyRestrictionsType() == SearchSourceRestriction.BOTH || Objects.equals(searchRequest.getSource().name(),item.getCategory().getApplyRestrictionsType().name());
    if (applyWordAndRegexRestrictions) {
      if (!checkRegexes(item,reasonsForRejection,searchRequest.getCategory().getRequiredRegex().orElse(null),searchRequest.getCategory().getForbiddenRegex().orElse(null))) {
        continue;
      }
      if (!checkRequiredWords(reasonsForRejection,searchRequest.getCategory().getRequiredWords(),item)) {
        continue;
      }
      if (!checkForForbiddenWords(indexerConfig,reasonsForRejection,searchRequest.getCategory().getRequiredWords(),item)) {
        continue;
      }
    }
    acceptedResults.add(item);
  }
  if (acceptedResults.size() < items.size()) {
    logger.info("String_Node_Str",items.size() - acceptedResults.size(),items.size(),indexerConfig.getName());
    for (    Entry<String> entry : reasonsForRejection.entrySet()) {
      logger.info("String_Node_Str",entry.getCount(),entry.getElement());
    }
  }
  return new AcceptorResult(acceptedResults,reasonsForRejection);
}

Fixed version (ground truth):
public AcceptorResult acceptResults(List<SearchResultItem> items,SearchRequest searchRequest,IndexerConfig indexerConfig){
  BaseConfig baseConfig=configProvider.getBaseConfig();
  titleWordCache=new HashMap<>();
  List<SearchResultItem> acceptedResults=new ArrayList<>();
  Multiset<String> reasonsForRejection=HashMultiset.create();
  for (  SearchResultItem item : items) {
    if (!checkForNeededAttributesSuccessfullyMapped(reasonsForRejection,item)) {
      continue;
    }
    if (!checkForPassword(reasonsForRejection,item)) {
      continue;
    }
    if (!checkForForbiddenGroup(reasonsForRejection,item)) {
      continue;
    }
    if (!checkForForbiddenPoster(reasonsForRejection,item)) {
      continue;
    }
    if (!checkForSize(searchRequest,reasonsForRejection,item)) {
      continue;
    }
    if (!checkForAge(searchRequest,reasonsForRejection,item)) {
      continue;
    }
    if (!checkForCategory(searchRequest,reasonsForRejection,item)) {
      continue;
    }
    if (!checkForForbiddenWords(indexerConfig,reasonsForRejection,searchRequest.getInternalData().getForbiddenWords(),item)) {
      continue;
    }
    if (!checkRequiredWords(reasonsForRejection,searchRequest.getInternalData().getRequiredWords(),item)) {
      continue;
    }
    boolean applyWordAndRegexRestrictions=baseConfig.getSearching().getApplyRestrictions() == SearchSourceRestriction.BOTH || Objects.equals(searchRequest.getSource().name(),baseConfig.getSearching().getApplyRestrictions().name());
    if (applyWordAndRegexRestrictions) {
      if (!checkRegexes(item,reasonsForRejection,baseConfig.getSearching().getRequiredRegex().orElse(null),baseConfig.getSearching().getForbiddenRegex().orElse(null))) {
        continue;
      }
      if (!checkRequiredWords(reasonsForRejection,baseConfig.getSearching().getRequiredWords(),item)) {
        continue;
      }
      if (!checkForForbiddenWords(indexerConfig,reasonsForRejection,baseConfig.getSearching().getForbiddenWords(),item)) {
        continue;
      }
    }
    applyWordAndRegexRestrictions=item.getCategory().getApplyRestrictionsType() == SearchSourceRestriction.BOTH || Objects.equals(searchRequest.getSource().name(),item.getCategory().getApplyRestrictionsType().name());
    if (applyWordAndRegexRestrictions) {
      if (!checkRegexes(item,reasonsForRejection,searchRequest.getCategory().getRequiredRegex().orElse(null),searchRequest.getCategory().getForbiddenRegex().orElse(null))) {
        continue;
      }
      if (!checkRequiredWords(reasonsForRejection,searchRequest.getCategory().getRequiredWords(),item)) {
        continue;
      }
      if (!checkForForbiddenWords(indexerConfig,reasonsForRejection,searchRequest.getCategory().getForbiddenWords(),item)) {
        continue;
      }
    }
    acceptedResults.add(item);
  }
  if (acceptedResults.size() < items.size()) {
    logger.info("String_Node_Str",items.size() - acceptedResults.size(),items.size(),indexerConfig.getName());
    for (    Entry<String> entry : reasonsForRejection.entrySet()) {
      logger.info("String_Node_Str",entry.getCount(),entry.getElement());
    }
  }
  return new AcceptorResult(acceptedResults,reasonsForRejection);
}