Program: 37987
Project: 37987
Buggy source:
@Override public void run(){
  MetricDatas mDatas=access.getRESTMetricQuery(nodeLic.getQueryType(),appName,nodeLic.getNode().getTierName(),nodeLic.getNode().getName(),totalTimeRange.getStart(),totalTimeRange.getEnd());
  nodeLic.getTotalRangeValue().setStart(totalTimeRange.getStart());
  nodeLic.getTotalRangeValue().setEnd(totalTimeRange.getEnd());
  nodeLic.getTotalRangeValue().setMetricValues(nodeLic.getMetricValues(mDatas));
  if (nodeLic.getType() == 5 && timeRanges.size() > 0) {
    if (nodeLic.checkIfNotJava(access,appName,timeRanges.get(0).getStart(),timeRanges.get(0).getEnd())) {
      if (s.debugLevel >= 2)       logger.log(Level.INFO,new StringBuilder().append("String_Node_Str").toString());
      boolean fnd=false;
      if (nodeLic.checkIfPHP(tierAgentType)) {
        nodeLic.setType(2);
        fnd=true;
      }
      if (nodeLic.checkIfNodeJs(tierAgentType)) {
        nodeLic.setType(3);
        fnd=true;
      }
      if (nodeLic.checkIfDotNet(tierAgentType)) {
        nodeLic.setType(1);
        fnd=true;
      }
      if (!fnd)       nodeLic.setType(2);
    }
 else {
      nodeLic.setType(0);
    }
  }
  for (  TimeRange tRange : timeRanges) {
    NodeLicenseRange nodeR=new NodeLicenseRange();
    nodeR.setStart(tRange.getStart());
    nodeR.setEnd(tRange.getEnd());
    nodeR.setName(nodeR.createName());
    for (    MetricValue val : nodeLic.getTotalRangeValue().getMetricValues().getMetricValue()) {
      if (nodeR.withIn(val.getStartTimeInMillis()))       nodeR.getMetricValues().getMetricValue().add(val);
    }
    nodeLic.getRangeValues().add(nodeR);
  }
}

Fixed version (ground truth):
@Override public void run(){
  MetricDatas mDatas=access.getRESTMetricQuery(nodeLic.getQueryType(),appName,nodeLic.getNode().getTierName(),nodeLic.getNode().getName(),totalTimeRange.getStart(),totalTimeRange.getEnd());
  nodeLic.getTotalRangeValue().setStart(totalTimeRange.getStart());
  nodeLic.getTotalRangeValue().setEnd(totalTimeRange.getEnd());
  nodeLic.getTotalRangeValue().setMetricValues(nodeLic.getMetricValues(mDatas));
  if (nodeLic.getType() == 5 && timeRanges.size() > 0) {
    if (nodeLic.checkIfNotJava(access,appName,timeRanges.get(0).getStart(),timeRanges.get(0).getEnd())) {
      if (s.debugLevel >= 2)       logger.log(Level.INFO,new StringBuilder().append("String_Node_Str").append(tierAgentType).toString());
      boolean fnd=false;
      if (nodeLic.checkIfWebServer(tierAgentType)) {
        nodeLic.setType(6);
        fnd=true;
      }
      if (!fnd && nodeLic.checkIfPHP(tierAgentType)) {
        nodeLic.setType(2);
        fnd=true;
      }
      if (!fnd && nodeLic.checkIfNodeJs(tierAgentType)) {
        nodeLic.setType(3);
        fnd=true;
      }
      if (!fnd && nodeLic.checkIfDotNet(tierAgentType)) {
        nodeLic.setType(1);
        fnd=true;
      }
      if (!fnd)       nodeLic.setType(2);
    }
 else {
      nodeLic.setType(0);
    }
  }
  for (  TimeRange tRange : timeRanges) {
    NodeLicenseRange nodeR=new NodeLicenseRange();
    nodeR.setStart(tRange.getStart());
    nodeR.setEnd(tRange.getEnd());
    nodeR.setName(nodeR.createName());
    for (    MetricValue val : nodeLic.getTotalRangeValue().getMetricValues().getMetricValue()) {
      if (nodeR.withIn(val.getStartTimeInMillis()))       nodeR.getMetricValues().getMetricValue().add(val);
    }
    nodeLic.getRangeValues().add(nodeR);
  }
}