Program: 64608
Project: 64608
Buggy source:
protected Query getQuery(DatabaseQuery query,PersistenceContext app){
  String method=query.isReadQuery() ? "String_Node_Str" : "String_Node_Str";
  String jpql=query.getJPQLString() == null ? "String_Node_Str" : query.getJPQLString();
  StringBuffer parameterString=new StringBuffer();
  Iterator<String> argumentsIterator=query.getArguments().iterator();
  while (argumentsIterator.hasNext()) {
    String argument=argumentsIterator.next();
    parameterString.append("String_Node_Str");
    parameterString.append(argument + "String_Node_Str" + argument+ "String_Node_Str");
  }
  Query returnQuery=new Query(query.getName(),jpql,new LinkTemplate("String_Node_Str",method,app.getBaseURI() + app.getName() + "String_Node_Str"+ query.getName()+ parameterString));
  if (query.isReportQuery()) {
    query.checkPrepare(app.getJpaSession(),new DatabaseRecord());
    for (    ReportItem item : ((ReportQuery)query).getItems()) {
      if (item.getMapping() != null) {
        if (item.getAttributeExpression() != null && item.getAttributeExpression().isMapEntryExpression()) {
          if (((MapEntryExpression)item.getAttributeExpression()).shouldReturnMapEntry()) {
            returnQuery.getReturnTypes().add(Map.Entry.class.getName());
          }
 else {
            returnQuery.getReturnTypes().add(((Class<?>)((CollectionMapping)item.getMapping()).getContainerPolicy().getKeyType()).getName());
          }
        }
 else {
          returnQuery.getReturnTypes().add(item.getMapping().getAttributeClassification().getName());
        }
      }
 else       if (item.getResultType() != null) {
        returnQuery.getReturnTypes().add(item.getResultType().getName());
      }
 else       if (item.getDescriptor() != null) {
        returnQuery.getReturnTypes().add(item.getDescriptor().getJavaClass().getName());
      }
 else       if (item.getAttributeExpression() != null && item.getAttributeExpression().isConstantExpression()) {
        returnQuery.getReturnTypes().add(((ConstantExpression)item.getAttributeExpression()).getValue().getClass().getName());
      }
 else {
        returnQuery.getReturnTypes().add(ClassConstants.OBJECT.getName());
      }
    }
  }
 else {
    returnQuery.getReturnTypes().add(query.getReferenceClassName() == null ? "String_Node_Str" : query.getReferenceClassName());
  }
  return returnQuery;
}

Fixed version (ground truth):
protected Query getQuery(DatabaseQuery query,PersistenceContext app){
  String method=query.isReadQuery() ? "String_Node_Str" : "String_Node_Str";
  String jpql=query.getJPQLString() == null ? "String_Node_Str" : query.getJPQLString();
  StringBuffer parameterString=new StringBuffer();
  Iterator<String> argumentsIterator=query.getArguments().iterator();
  while (argumentsIterator.hasNext()) {
    String argument=argumentsIterator.next();
    parameterString.append("String_Node_Str");
    parameterString.append(argument + "String_Node_Str" + argument+ "String_Node_Str");
  }
  Query returnQuery=new Query(query.getName(),jpql,new LinkTemplate("String_Node_Str",method,app.getBaseURI() + app.getName() + "String_Node_Str"+ query.getName()+ parameterString));
  if (query.isReportQuery()) {
    query.checkPrepare((AbstractSession)app.getJpaSession(),new DatabaseRecord());
    for (    ReportItem item : ((ReportQuery)query).getItems()) {
      if (item.getMapping() != null) {
        if (item.getAttributeExpression() != null && item.getAttributeExpression().isMapEntryExpression()) {
          if (((MapEntryExpression)item.getAttributeExpression()).shouldReturnMapEntry()) {
            returnQuery.getReturnTypes().add(Map.Entry.class.getName());
          }
 else {
            returnQuery.getReturnTypes().add(((Class<?>)((CollectionMapping)item.getMapping()).getContainerPolicy().getKeyType()).getName());
          }
        }
 else {
          returnQuery.getReturnTypes().add(item.getMapping().getAttributeClassification().getName());
        }
      }
 else       if (item.getResultType() != null) {
        returnQuery.getReturnTypes().add(item.getResultType().getName());
      }
 else       if (item.getDescriptor() != null) {
        returnQuery.getReturnTypes().add(item.getDescriptor().getJavaClass().getName());
      }
 else       if (item.getAttributeExpression() != null && item.getAttributeExpression().isConstantExpression()) {
        returnQuery.getReturnTypes().add(((ConstantExpression)item.getAttributeExpression()).getValue().getClass().getName());
      }
 else {
        returnQuery.getReturnTypes().add(ClassConstants.OBJECT.getName());
      }
    }
  }
 else {
    returnQuery.getReturnTypes().add(query.getReferenceClassName() == null ? "String_Node_Str" : query.getReferenceClassName());
  }
  return returnQuery;
}