Program: 39751
Project: 39751
Buggy source:
/** 
 * querybuilder is an inner private class that builds the query for the request based on the Map parameter args
 * @param args     Map containing the operator and the string ex: /games/
 * @param endpoint The endpoint for which the arguments should apply forex: /games/
 */
private String queryBuilder(Endpoint endpoint,Map<Operator,String> args){
  String ids, fields, expand, limit, offset, order, search, scroll, filter, query;
  ids=fields=expand=limit=offset=order=search=scroll=filter=query="String_Node_Str";
  Set<Operator> keySet=args.keySet();
  for (  Operator operator : keySet) {
switch (operator) {
case IDS:
      ids=args.get(Operator.IDS).replaceAll("String_Node_Str","String_Node_Str");
    break;
case FIELDS:
  fields="String_Node_Str" + args.get(Operator.FIELDS).replaceAll("String_Node_Str","String_Node_Str");
break;
case EXPAND:
expand="String_Node_Str" + args.get(Operator.EXPAND).replaceAll("String_Node_Str","String_Node_Str");
break;
case LIMIT:
limit="String_Node_Str" + args.get(Operator.LIMIT).replaceAll("String_Node_Str","String_Node_Str");
break;
case OFFSET:
offset="String_Node_Str" + args.get(Operator.OFFSET).replaceAll("String_Node_Str","String_Node_Str");
break;
case ORDER:
order="String_Node_Str" + args.get(Operator.ORDER).replaceAll("String_Node_Str","String_Node_Str");
break;
case SEARCH:
search="String_Node_Str" + args.get(Operator.SEARCH).replaceAll("String_Node_Str","String_Node_Str");
break;
case SCROLL:
scroll="String_Node_Str" + args.get(Operator.SCROLL).replaceAll("String_Node_Str","String_Node_Str");
break;
case FILTER:
filter="String_Node_Str" + args.get(Operator.FILTER).replaceAll("String_Node_Str","String_Node_Str");
break;
}
}
query=endpoint.toString().toLowerCase();
query+="String_Node_Str" + ids + search;
if (!fields.isEmpty() && !search.isEmpty()) {
query+="String_Node_Str" + fields;
}
 else if (!fields.isEmpty()) {
query+="String_Node_Str" + fields;
}
 else {
query+="String_Node_Str";
}
query+=filter + expand + order+ limit+ offset+ scroll;
Log.d("String_Node_Str",query);
return query;
}

Fixed version (ground truth):
/** 
 * querybuilder is an inner private class that builds the query for the request based on the Map parameter args
 * @param args     Map containing the operator and the string ex: /games/
 * @param endpoint The endpoint for which the arguments should apply forex: /games/
 */
private String queryBuilder(Endpoint endpoint,Map<Operator,String> args){
  String ids, fields, expand, limit, offset, order, search, scroll, filter, query;
  ids=fields=expand=limit=offset=order=search=scroll=filter=query="String_Node_Str";
  Set<Operator> keySet=args.keySet();
  for (  Operator operator : keySet) {
switch (operator) {
case IDS:
      ids=args.get(Operator.IDS).replaceAll("String_Node_Str","String_Node_Str");
    break;
case FIELDS:
  fields="String_Node_Str" + args.get(Operator.FIELDS).replaceAll("String_Node_Str","String_Node_Str");
break;
case EXPAND:
expand="String_Node_Str" + args.get(Operator.EXPAND).replaceAll("String_Node_Str","String_Node_Str");
break;
case LIMIT:
limit="String_Node_Str" + args.get(Operator.LIMIT).replaceAll("String_Node_Str","String_Node_Str");
break;
case OFFSET:
offset="String_Node_Str" + args.get(Operator.OFFSET).replaceAll("String_Node_Str","String_Node_Str");
break;
case ORDER:
order="String_Node_Str" + args.get(Operator.ORDER).replaceAll("String_Node_Str","String_Node_Str");
break;
case SEARCH:
search="String_Node_Str" + args.get(Operator.SEARCH).replaceAll("String_Node_Str","String_Node_Str");
break;
case SCROLL:
scroll="String_Node_Str" + args.get(Operator.SCROLL).replaceAll("String_Node_Str","String_Node_Str");
break;
case FILTER:
filter+="String_Node_Str" + args.get(Operator.FILTER).replaceAll("String_Node_Str","String_Node_Str");
break;
}
}
query=endpoint.toString().toLowerCase();
query+="String_Node_Str" + ids + search;
if (!fields.isEmpty() && !search.isEmpty()) {
query+="String_Node_Str" + fields;
}
 else if (!fields.isEmpty()) {
query+="String_Node_Str" + fields;
}
 else {
query+="String_Node_Str";
}
query+=filter + expand + order+ limit+ offset+ scroll;
Log.d("String_Node_Str",query);
return query;
}