Program: 35597
Project: 35597
Buggy source:
protected void updateIndicatorProperties(Indicator indicator,Map<String,Object> changes){
  if (changes.containsKey("String_Node_Str")) {
    indicator.setName((String)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setAggregation((Integer)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setCategory((String)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setCollectIntervention((Boolean)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setCollectMonitoring((Boolean)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setCode((String)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setDescription((String)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setUnits((String)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setObjective((Double)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setSortOrder((Integer)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setLabels((List<String>)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setSourceOfVerification((String)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setActivity(em.getReference(Activity.class,(Integer)changes.get("String_Node_Str")));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setDirectDataEntryEnabled((Boolean)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    Set<Integer> ids=(Set<Integer>)changes.get("String_Node_Str");
    if (ids.isEmpty()) {
      indicator.setDataSources(Collections.<Indicator>emptySet());
    }
 else {
      List<Indicator> dataSources=em.createQuery("String_Node_Str").setParameter("String_Node_Str",ids).getResultList();
      indicator.setDataSources(new HashSet<Indicator>(dataSources));
    }
  }
  if (indicator.getActivity() != null) {
    indicator.getActivity().getDatabase().setLastSchemaUpdate(new Date());
  }
 else {
    indicator.getDatabase().setLastSchemaUpdate(new Date());
  }
}

Fixed version (ground truth):
protected void updateIndicatorProperties(Indicator indicator,Map<String,Object> changes){
  if (changes.containsKey("String_Node_Str")) {
    indicator.setName((String)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setAggregation((Integer)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setCollectIntervention((Boolean)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setCollectMonitoring((Boolean)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setCode((String)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setDescription((String)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setUnits((String)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setObjective((Double)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setSortOrder((Integer)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setLabels((List<String>)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setSourceOfVerification((String)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    if (changes.get("String_Node_Str") != null) {
      indicator.setActivity(em.getReference(Activity.class,(Integer)changes.get("String_Node_Str")));
    }
 else {
      indicator.setActivity(null);
    }
  }
  if (changes.containsKey("String_Node_Str")) {
    indicator.setDirectDataEntryEnabled((Boolean)changes.get("String_Node_Str"));
  }
  if (changes.containsKey("String_Node_Str")) {
    Set<Integer> ids=(Set<Integer>)changes.get("String_Node_Str");
    if (ids.isEmpty()) {
      indicator.setDataSources(Collections.<Indicator>emptySet());
    }
 else {
      List<Indicator> dataSources=em.createQuery("String_Node_Str").setParameter("String_Node_Str",ids).getResultList();
      indicator.setDataSources(new HashSet<Indicator>(dataSources));
    }
  }
  if (indicator.getActivity() != null) {
    indicator.getActivity().getDatabase().setLastSchemaUpdate(new Date());
  }
 else {
    indicator.getDatabase().setLastSchemaUpdate(new Date());
  }
}