Program: 69486
Project: 69486
Buggy source:
private <T>TypedQuery<T> createFindDBQuery(SearchBusinessGroupParams params,RepositoryEntryRef resource,Class<T> resultClass,BusinessGroupOrder... ordering){
  StringBuilder query=new StringBuilder();
  if (BusinessGroup.class.equals(resultClass)) {
    query.append("String_Node_Str");
  }
 else {
    query.append("String_Node_Str");
  }
  query.append("String_Node_Str");
  if (BusinessGroup.class.equals(resultClass)) {
    query.append("String_Node_Str");
  }
 else {
    query.append("String_Node_Str");
  }
  if (resource != null || params.isOwner() || params.isAttendee() || params.isWaiting()) {
    query.append("String_Node_Str");
  }
  boolean where=false;
  if (StringHelper.containsNonWhitespace(params.getExternalId())) {
    where=where(query,where);
    query.append("String_Node_Str");
  }
  Long id=null;
  if (StringHelper.containsNonWhitespace(params.getIdRef())) {
    if (StringHelper.isLong(params.getIdRef())) {
      try {
        id=new Long(params.getIdRef());
      }
 catch (      NumberFormatException e) {
      }
    }
    where=where(query,where);
    query.append("String_Node_Str");
    if (id != null) {
      query.append("String_Node_Str");
    }
    query.append("String_Node_Str");
  }
  if (params.getManaged() != null) {
    where=where(query,where);
    if (params.getManaged().booleanValue()) {
      query.append("String_Node_Str");
    }
 else {
      query.append("String_Node_Str");
    }
  }
  if (params.getGroupKeys() != null && !params.getGroupKeys().isEmpty()) {
    where=where(query,where);
    query.append("String_Node_Str");
  }
  if (resource != null) {
    where=where(query,where);
    query.append("String_Node_Str").append("String_Node_Str").append("String_Node_Str");
  }
  if (StringHelper.containsNonWhitespace(params.getCourseTitle())) {
    where=where(query,where);
    query.append("String_Node_Str").append("String_Node_Str").append("String_Node_Str");
    searchLikeAttribute(query,"String_Node_Str","String_Node_Str","String_Node_Str");
    query.append("String_Node_Str");
  }
  List<String> roles=null;
  if (params.isOwner() || params.isAttendee() || params.isWaiting()) {
    where=where(query,where);
    roles=new ArrayList<>();
    query.append("String_Node_Str").append("String_Node_Str").append("String_Node_Str");
    if (params.isOwner()) {
      roles.add(GroupRoles.coach.name());
    }
    if (params.isAttendee()) {
      roles.add(GroupRoles.participant.name());
    }
    if (params.isWaiting()) {
      roles.add(GroupRoles.waiting.name());
    }
  }
  if (StringHelper.containsNonWhitespace(params.getNameOrDesc())) {
    where=where(query,where);
    query.append("String_Node_Str");
    searchLikeAttribute(query,"String_Node_Str","String_Node_Str","String_Node_Str");
    query.append("String_Node_Str");
    searchLikeAttribute(query,"String_Node_Str","String_Node_Str","String_Node_Str");
    query.append("String_Node_Str");
  }
 else {
    if (StringHelper.containsNonWhitespace(params.getExactName())) {
      where=where(query,where);
      query.append("String_Node_Str");
    }
    if (StringHelper.containsNonWhitespace(params.getName())) {
      where=where(query,where);
      searchLikeAttribute(query,"String_Node_Str","String_Node_Str","String_Node_Str");
    }
    if (StringHelper.containsNonWhitespace(params.getDescription())) {
      where=where(query,where);
      searchLikeAttribute(query,"String_Node_Str","String_Node_Str","String_Node_Str");
    }
  }
  if (params.getTools() != null && !params.getTools().isEmpty()) {
    where=where(query,where);
    query.append("String_Node_Str").append(Property.class.getName()).append("String_Node_Str").append("String_Node_Str").append(CollaborationTools.PROP_CAT_BG_COLLABTOOLS).append("String_Node_Str").append("String_Node_Str");
  }
  if (BusinessGroup.class.equals(resultClass)) {
    query.append("String_Node_Str");
    if (ordering != null && ordering.length > 0) {
      for (      BusinessGroupOrder o : ordering) {
switch (o) {
case nameAsc:
          query.append("String_Node_Str");
        break;
case nameDesc:
      query.append("String_Node_Str");
    break;
case creationDateAsc:
  query.append("String_Node_Str");
break;
case creationDateDesc:
query.append("String_Node_Str");
break;
}
}
}
 else {
query.append("String_Node_Str");
}
query.append("String_Node_Str");
}
TypedQuery<T> dbq=dbInstance.getCurrentEntityManager().createQuery(query.toString(),resultClass);
if (params.isOwner() || params.isAttendee() || params.isWaiting()) {
dbq.setParameter("String_Node_Str",params.getIdentity().getKey());
}
if (params.getGroupKeys() != null && !params.getGroupKeys().isEmpty()) {
dbq.setParameter("String_Node_Str",params.getGroupKeys());
}
if (StringHelper.containsNonWhitespace(params.getExternalId())) {
dbq.setParameter("String_Node_Str",params.getExternalId());
}
if (StringHelper.containsNonWhitespace(params.getIdRef())) {
dbq.setParameter("String_Node_Str",params.getIdRef());
if (id != null) {
dbq.setParameter("String_Node_Str",id);
}
}
if (resource != null) {
dbq.setParameter("String_Node_Str",resource.getKey());
}
if (params.getTools() != null && !params.getTools().isEmpty()) {
dbq.setParameter("String_Node_Str",params.getTools());
}
if (roles != null) {
dbq.setParameter("String_Node_Str",roles);
}
if (StringHelper.containsNonWhitespace(params.getNameOrDesc())) {
dbq.setParameter("String_Node_Str",makeFuzzyQueryString(params.getNameOrDesc()));
}
 else {
if (StringHelper.containsNonWhitespace(params.getExactName())) {
dbq.setParameter("String_Node_Str",params.getExactName());
}
if (StringHelper.containsNonWhitespace(params.getName())) {
dbq.setParameter("String_Node_Str",makeFuzzyQueryString(params.getName()));
}
if (StringHelper.containsNonWhitespace(params.getDescription())) {
dbq.setParameter("String_Node_Str",makeFuzzyQueryString(params.getDescription()));
}
}
if (StringHelper.containsNonWhitespace(params.getCourseTitle())) {
dbq.setParameter("String_Node_Str",makeFuzzyQueryString(params.getCourseTitle()));
}
return dbq;
}

Fixed version (ground truth):
private <T>TypedQuery<T> createFindDBQuery(SearchBusinessGroupParams params,RepositoryEntryRef resource,Class<T> resultClass,BusinessGroupOrder... ordering){
  StringBuilder query=new StringBuilder();
  if (BusinessGroup.class.equals(resultClass)) {
    query.append("String_Node_Str");
  }
 else {
    query.append("String_Node_Str");
  }
  query.append("String_Node_Str");
  if (BusinessGroup.class.equals(resultClass)) {
    query.append("String_Node_Str");
    query.append("String_Node_Str");
  }
 else {
    query.append("String_Node_Str");
    query.append("String_Node_Str");
  }
  boolean where=false;
  if (StringHelper.containsNonWhitespace(params.getExternalId())) {
    where=where(query,where);
    query.append("String_Node_Str");
  }
  Long id=null;
  if (StringHelper.containsNonWhitespace(params.getIdRef())) {
    if (StringHelper.isLong(params.getIdRef())) {
      try {
        id=new Long(params.getIdRef());
      }
 catch (      NumberFormatException e) {
      }
    }
    where=where(query,where);
    query.append("String_Node_Str");
    if (id != null) {
      query.append("String_Node_Str");
    }
    query.append("String_Node_Str");
  }
  if (params.getManaged() != null) {
    where=where(query,where);
    if (params.getManaged().booleanValue()) {
      query.append("String_Node_Str");
    }
 else {
      query.append("String_Node_Str");
    }
  }
  if (params.getGroupKeys() != null && !params.getGroupKeys().isEmpty()) {
    where=where(query,where);
    query.append("String_Node_Str");
  }
  if (resource != null) {
    where=where(query,where);
    query.append("String_Node_Str").append("String_Node_Str").append("String_Node_Str");
  }
  if (StringHelper.containsNonWhitespace(params.getCourseTitle())) {
    where=where(query,where);
    query.append("String_Node_Str").append("String_Node_Str").append("String_Node_Str");
    searchLikeAttribute(query,"String_Node_Str","String_Node_Str","String_Node_Str");
    query.append("String_Node_Str");
  }
  List<String> roles=null;
  if (params.isOwner() || params.isAttendee() || params.isWaiting()) {
    where=where(query,where);
    roles=new ArrayList<>();
    query.append("String_Node_Str").append("String_Node_Str").append("String_Node_Str");
    if (params.isOwner()) {
      roles.add(GroupRoles.coach.name());
    }
    if (params.isAttendee()) {
      roles.add(GroupRoles.participant.name());
    }
    if (params.isWaiting()) {
      roles.add(GroupRoles.waiting.name());
    }
  }
  if (StringHelper.containsNonWhitespace(params.getNameOrDesc())) {
    where=where(query,where);
    query.append("String_Node_Str");
    searchLikeAttribute(query,"String_Node_Str","String_Node_Str","String_Node_Str");
    query.append("String_Node_Str");
    searchLikeAttribute(query,"String_Node_Str","String_Node_Str","String_Node_Str");
    query.append("String_Node_Str");
  }
 else {
    if (StringHelper.containsNonWhitespace(params.getExactName())) {
      where=where(query,where);
      query.append("String_Node_Str");
    }
    if (StringHelper.containsNonWhitespace(params.getName())) {
      where=where(query,where);
      searchLikeAttribute(query,"String_Node_Str","String_Node_Str","String_Node_Str");
    }
    if (StringHelper.containsNonWhitespace(params.getDescription())) {
      where=where(query,where);
      searchLikeAttribute(query,"String_Node_Str","String_Node_Str","String_Node_Str");
    }
  }
  if (params.getTools() != null && !params.getTools().isEmpty()) {
    where=where(query,where);
    query.append("String_Node_Str").append(Property.class.getName()).append("String_Node_Str").append("String_Node_Str").append(CollaborationTools.PROP_CAT_BG_COLLABTOOLS).append("String_Node_Str").append("String_Node_Str");
  }
  if (BusinessGroup.class.equals(resultClass)) {
    query.append("String_Node_Str");
    if (ordering != null && ordering.length > 0) {
      for (      BusinessGroupOrder o : ordering) {
switch (o) {
case nameAsc:
          query.append("String_Node_Str");
        break;
case nameDesc:
      query.append("String_Node_Str");
    break;
case creationDateAsc:
  query.append("String_Node_Str");
break;
case creationDateDesc:
query.append("String_Node_Str");
break;
}
}
}
 else {
query.append("String_Node_Str");
}
query.append("String_Node_Str");
}
TypedQuery<T> dbq=dbInstance.getCurrentEntityManager().createQuery(query.toString(),resultClass);
if (params.isOwner() || params.isAttendee() || params.isWaiting()) {
dbq.setParameter("String_Node_Str",params.getIdentity().getKey());
}
if (params.getGroupKeys() != null && !params.getGroupKeys().isEmpty()) {
dbq.setParameter("String_Node_Str",params.getGroupKeys());
}
if (StringHelper.containsNonWhitespace(params.getExternalId())) {
dbq.setParameter("String_Node_Str",params.getExternalId());
}
if (StringHelper.containsNonWhitespace(params.getIdRef())) {
dbq.setParameter("String_Node_Str",params.getIdRef());
if (id != null) {
dbq.setParameter("String_Node_Str",id);
}
}
if (resource != null) {
dbq.setParameter("String_Node_Str",resource.getKey());
}
if (params.getTools() != null && !params.getTools().isEmpty()) {
dbq.setParameter("String_Node_Str",params.getTools());
}
if (roles != null) {
dbq.setParameter("String_Node_Str",roles);
}
if (StringHelper.containsNonWhitespace(params.getNameOrDesc())) {
dbq.setParameter("String_Node_Str",makeFuzzyQueryString(params.getNameOrDesc()));
}
 else {
if (StringHelper.containsNonWhitespace(params.getExactName())) {
dbq.setParameter("String_Node_Str",params.getExactName());
}
if (StringHelper.containsNonWhitespace(params.getName())) {
dbq.setParameter("String_Node_Str",makeFuzzyQueryString(params.getName()));
}
if (StringHelper.containsNonWhitespace(params.getDescription())) {
dbq.setParameter("String_Node_Str",makeFuzzyQueryString(params.getDescription()));
}
}
if (StringHelper.containsNonWhitespace(params.getCourseTitle())) {
dbq.setParameter("String_Node_Str",makeFuzzyQueryString(params.getCourseTitle()));
}
return dbq;
}