Program: 189201
Project: 189201
Buggy source:
protected void submitChild(Comment comment){
  boolean timeEnabled=Boolean.parseBoolean(getProject().getConfigurationValue(StoredProject.CONFIGURATION_TIMETRACKING_ENABLED));
  boolean timeBurndown=Boolean.parseBoolean(getProject().getConfigurationValue(StoredProject.CONFIGURATION_TIMETRACKING_BURNDOWN));
  getIssue().setResolution(resolution);
  if (duplicate != 0) {
    Issue dupe=IssuesApplication.getIssue(duplicate,duplicateProject);
    IssueRelationship relationship=new IssueRelationship(getIssue(),dupe,IssueRelationship.TYPE_DUPLICATE);
    ((HibernateStorage)getStorage()).save(relationship);
    getIssue().getRelationships().add(relationship);
  }
  if (timeBurndown) {
    if (timeEnabled) {
      DurationWorked worked=new DurationWorked();
      worked.setWorked(additionalTime);
      worked.setUpdatedRequired(new Duration(0));
      worked.setDay(new Date());
      if (willChildConsumeComment()) {
        worked.setComment(comment);
      }
      worked.setUser(getSession().getUser());
      ((HibernateStorage)getStorage()).save(worked);
      getIssue().getTimeWorked().add(worked);
      getIssue().setTimeRequired(new Duration(0));
    }
  }
 else {
    getIssue().setTimeRequired(additionalTime);
    if (timeEnabled && originalTime != null && additionalTime.getHours() > originalTime.getHours()) {
      double hours=additionalTime.getHours() - originalTime.getHours();
      DurationWorked worked=new DurationWorked();
      worked.setWorked(new Duration(hours));
      worked.setDay(new Date());
      if (willChildConsumeComment()) {
        worked.setComment(comment);
      }
      worked.setUser(getSession().getUser());
      ((HibernateStorage)getStorage()).save(worked);
      getIssue().getTimeWorked().add(worked);
    }
  }
  getIssue().setStatus(Issue.STATUS_RESOLVED);
}

Fixed version (ground truth):
protected void submitChild(Comment comment){
  boolean timeEnabled=Boolean.parseBoolean(getProject().getConfigurationValue(StoredProject.CONFIGURATION_TIMETRACKING_ENABLED));
  boolean timeBurndown=Boolean.parseBoolean(getProject().getConfigurationValue(StoredProject.CONFIGURATION_TIMETRACKING_BURNDOWN));
  getIssue().setResolution(resolution);
  if (duplicate != 0) {
    Issue dupe=IssuesApplication.getIssue(duplicate,duplicateProject);
    IssueRelationship relationship=new IssueRelationship(getIssue(),dupe,IssueRelationship.TYPE_DUPLICATE);
    ((HibernateStorage)getStorage()).save(relationship);
    getIssue().getRelationships().add(relationship);
  }
  if (timeBurndown) {
    if (timeEnabled) {
      DurationWorked worked=new DurationWorked();
      worked.setIssue(getIssue());
      worked.setWorked(additionalTime);
      worked.setUpdatedRequired(new Duration(0));
      worked.setDay(new Date());
      if (willChildConsumeComment()) {
        worked.setComment(comment);
      }
      worked.setUser(getSession().getUser());
      ((HibernateStorage)getStorage()).save(worked);
      getIssue().getTimeWorked().add(worked);
      getIssue().setTimeRequired(new Duration(0));
    }
  }
 else {
    getIssue().setTimeRequired(additionalTime);
    if (timeEnabled && originalTime != null && additionalTime.getHours() > originalTime.getHours()) {
      double hours=additionalTime.getHours() - originalTime.getHours();
      DurationWorked worked=new DurationWorked();
      worked.setWorked(new Duration(hours));
      worked.setDay(new Date());
      if (willChildConsumeComment()) {
        worked.setComment(comment);
      }
      worked.setUser(getSession().getUser());
      ((HibernateStorage)getStorage()).save(worked);
      getIssue().getTimeWorked().add(worked);
    }
  }
  getIssue().setStatus(Issue.STATUS_RESOLVED);
}