Program: 137375
Project: 137375
Buggy source:
private List<Map<String,String>> getBlockingKeysFromRules(MatchRuleDefinition matchRuleDefinition,boolean retrieveDisplayValue){
  if (matchRuleDefinition != null) {
    List<Map<String,String>> ruleValues=new ArrayList<Map<String,String>>();
    for (    BlockKeyDefinition bkDefinition : matchRuleDefinition.getBlockKeys()) {
      Map<String,String> pr=new HashMap<String,String>();
      pr.put(BlockingKeysTableLabelProvider.BLOCKING_KEY_NAME,null == bkDefinition.getName() ? StringUtils.EMPTY : bkDefinition.getName());
      pr.put(BlockingKeysTableLabelProvider.PRECOLUMN,null == bkDefinition.getColumn() ? StringUtils.EMPTY : bkDefinition.getColumn());
      pr.put(BlockingKeysTableLabelProvider.PRE_ALGO,null == bkDefinition.getPreAlgorithm() ? StringUtils.EMPTY : bkDefinition.getPreAlgorithm().getAlgorithmType());
      pr.put(BlockingKeysTableLabelProvider.PRE_VALUE,null == bkDefinition.getPreAlgorithm() ? StringUtils.EMPTY : bkDefinition.getPreAlgorithm().getAlgorithmParameters());
      pr.put(BlockingKeysTableLabelProvider.KEY_ALGO,null == bkDefinition.getAlgorithm() ? StringUtils.EMPTY : bkDefinition.getAlgorithm().getAlgorithmType());
      pr.put(BlockingKeysTableLabelProvider.KEY_VALUE,null == bkDefinition.getAlgorithm() ? StringUtils.EMPTY : bkDefinition.getAlgorithm().getAlgorithmParameters());
      pr.put(BlockingKeysTableLabelProvider.POST_ALGO,null == bkDefinition.getPostAlgorithm() ? StringUtils.EMPTY : bkDefinition.getPostAlgorithm().getAlgorithmType());
      pr.put(BlockingKeysTableLabelProvider.POST_VALUE,null == bkDefinition.getPostAlgorithm() ? StringUtils.EMPTY : bkDefinition.getPostAlgorithm().getAlgorithmParameters());
      ruleValues.add(pr);
    }
    return ruleValues;
  }
  return null;
}

Fixed version (ground truth):
private List<Map<String,String>> getBlockingKeysFromRules(MatchRuleDefinition matchRuleDefinition,boolean retrieveDisplayValue){
  if (matchRuleDefinition != null) {
    List<Map<String,String>> ruleValues=new ArrayList<Map<String,String>>();
    for (    BlockKeyDefinition bkDefinition : matchRuleDefinition.getBlockKeys()) {
      Map<String,String> pr=new HashMap<String,String>();
      pr.put(BlockingKeysTableLabelProvider.BLOCKING_KEY_NAME,null == bkDefinition.getName() ? StringUtils.EMPTY : bkDefinition.getName());
      String matchedColumnName=matchExistingColumnForBlockingKey(bkDefinition);
      pr.put(BlockingKeysTableLabelProvider.PRECOLUMN,null == matchedColumnName ? StringUtils.EMPTY : matchedColumnName);
      pr.put(BlockingKeysTableLabelProvider.PRE_ALGO,null == bkDefinition.getPreAlgorithm() ? StringUtils.EMPTY : bkDefinition.getPreAlgorithm().getAlgorithmType());
      pr.put(BlockingKeysTableLabelProvider.PRE_VALUE,null == bkDefinition.getPreAlgorithm() ? StringUtils.EMPTY : bkDefinition.getPreAlgorithm().getAlgorithmParameters());
      pr.put(BlockingKeysTableLabelProvider.KEY_ALGO,null == bkDefinition.getAlgorithm() ? StringUtils.EMPTY : bkDefinition.getAlgorithm().getAlgorithmType());
      pr.put(BlockingKeysTableLabelProvider.KEY_VALUE,null == bkDefinition.getAlgorithm() ? StringUtils.EMPTY : bkDefinition.getAlgorithm().getAlgorithmParameters());
      pr.put(BlockingKeysTableLabelProvider.POST_ALGO,null == bkDefinition.getPostAlgorithm() ? StringUtils.EMPTY : bkDefinition.getPostAlgorithm().getAlgorithmType());
      pr.put(BlockingKeysTableLabelProvider.POST_VALUE,null == bkDefinition.getPostAlgorithm() ? StringUtils.EMPTY : bkDefinition.getPostAlgorithm().getAlgorithmParameters());
      ruleValues.add(pr);
    }
    return ruleValues;
  }
  return null;
}