Program: 93513
Project: 93513
Buggy source:
/** 
 * @param exchange
 * @param context
 * @param embeddedData
 * @param size
 * @throws IllegalQueryParamenterException
 */
static public void sendHal(HttpServerExchange exchange,RequestContext context,List<DBObject> embeddedData,long size) throws IllegalQueryParamenterException {
  String requestPath=URLUtils.removeTrailingSlashes(context.getMappedRequestUri());
  String queryString=exchange.getQueryString() == null || exchange.getQueryString().isEmpty() ? "String_Node_Str" : "String_Node_Str" + URLUtils.decodeQueryString(exchange.getQueryString());
  Representation rep=new Representation(requestPath + queryString);
  rep.addProperty("String_Node_Str",context.getType().name());
  if (size >= 0) {
    rep.addProperty("String_Node_Str",size);
  }
  if (embeddedData != null) {
    long count=embeddedData.stream().filter((props) -> props.keySet().stream().anyMatch((k) -> k.equals("String_Node_Str") || k.equals("String_Node_Str"))).count();
    rep.addProperty("String_Node_Str",count);
    if (!embeddedData.isEmpty()) {
      embeddedDocuments(embeddedData,requestPath,rep);
    }
  }
  if (context.isParentAccessible()) {
    if (context.getCollectionName().endsWith("String_Node_Str")) {
      rep.addLink(new Link("String_Node_Str",URLUtils.getParentPath(requestPath)));
    }
 else {
      rep.addLink(new Link("String_Node_Str",URLUtils.getParentPath(requestPath)));
    }
  }
  rep.addLink(new Link("String_Node_Str",requestPath));
  rep.addLink(new Link("String_Node_Str","String_Node_Str",Configuration.RESTHEART_ONLINE_DOC_URL + "String_Node_Str",true),true);
  exchange.getResponseHeaders().put(Headers.CONTENT_TYPE,HAL_JSON_MEDIA_TYPE);
  exchange.getResponseSender().send(rep.toString());
}

Fixed version (ground truth):
/** 
 * @param exchange
 * @param context
 * @param embeddedData
 * @param size
 * @throws IllegalQueryParamenterException
 */
static public void sendHal(HttpServerExchange exchange,RequestContext context,List<DBObject> embeddedData,long size) throws IllegalQueryParamenterException {
  String requestPath=URLUtils.removeTrailingSlashes(context.getMappedRequestUri());
  String queryString=exchange.getQueryString() == null || exchange.getQueryString().isEmpty() ? "String_Node_Str" : "String_Node_Str" + URLUtils.decodeQueryString(exchange.getQueryString());
  Representation rep=new Representation(requestPath + queryString);
  rep.addProperty("String_Node_Str",context.getType().name());
  if (size >= 0) {
    rep.addProperty("String_Node_Str",size);
  }
  if (embeddedData != null) {
    long count=embeddedData.stream().filter((props) -> props.keySet().stream().anyMatch((k) -> k.equals("String_Node_Str") || k.equals("String_Node_Str"))).count();
    rep.addProperty("String_Node_Str",count);
    if (!embeddedData.isEmpty()) {
      embeddedDocuments(embeddedData,requestPath,rep);
    }
  }
  if (context.isParentAccessible()) {
    if (context.getCollectionName().endsWith(RequestContext.FS_FILES_SUFFIX)) {
      rep.addLink(new Link("String_Node_Str",URLUtils.getParentPath(requestPath)));
    }
 else {
      rep.addLink(new Link("String_Node_Str",URLUtils.getParentPath(requestPath)));
    }
  }
  rep.addLink(new Link("String_Node_Str",requestPath));
  rep.addLink(new Link("String_Node_Str","String_Node_Str",Configuration.RESTHEART_ONLINE_DOC_URL + "String_Node_Str",true),true);
  exchange.getResponseHeaders().put(Headers.CONTENT_TYPE,HAL_JSON_MEDIA_TYPE);
  exchange.getResponseSender().send(rep.toString());
}