Program: 160728
Project: 160728
Buggy source:
@Override public void route(RestxRequest restxRequest,final RestxResponse restxResponse) throws IOException {
  logger.info("String_Node_Str",restxRequest);
  Monitor monitor=MonitorFactory.start("String_Node_Str" + restxRequest.getHttpMethod() + "String_Node_Str"+ restxRequest.getRestxPath());
  try {
    Optional<RestxRouting.Match> m=routing.match(restxRequest);
    if (!m.isPresent()) {
      String path=restxRequest.getRestxPath();
      StringBuilder sb=new StringBuilder().append("String_Node_Str").append(restxRequest.getHttpMethod()).append("String_Node_Str").append(path).append("String_Node_Str");
      if (hasApiDocs()) {
        sb.append("String_Node_Str").append(restxRequest.getBaseUri()).append("String_Node_Str").append("String_Node_Str");
      }
      sb.append("String_Node_Str").append("String_Node_Str");
      for (      RestxRoute route : routing.getRoutes()) {
        sb.append(route).append("String_Node_Str");
      }
      sb.append("String_Node_Str");
      restxResponse.setStatus(404);
      restxResponse.setContentType("String_Node_Str");
      PrintWriter out=restxResponse.getWriter();
      out.print(sb.toString());
    }
 else {
      RouteLifecycleListener noCache=new RouteLifecycleListener(){
        @Override public void onRouteMatch(        RestxRoute source){
        }
        @Override public void onBeforeWriteContent(        RestxRoute source){
          restxResponse.setHeader("String_Node_Str","String_Node_Str");
        }
      }
;
      RestxContext context=new RestxContext(getMode(),noCache,ImmutableList.copyOf(m.get().getMatches()));
      RestxRouteMatch match=context.nextHandlerMatch();
      match.getHandler().handle(match,restxRequest,restxResponse,context);
    }
  }
 catch (  JsonProcessingException ex) {
    logger.warn("String_Node_Str" + ex.getClass().getSimpleName(),ex);
    restxResponse.setStatus(400);
    restxResponse.setContentType("String_Node_Str");
    PrintWriter out=restxResponse.getWriter();
    if (restxRequest.getContentStream() instanceof BufferedInputStream) {
      try {
        JsonLocation location=ex.getLocation();
        restxRequest.getContentStream().reset();
        out.println(CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE,ex.getClass().getSimpleName()) + "String_Node_Str" + "String_Node_Str");
        out.println("String_Node_Str");
        List<String> lines=CharStreams.readLines(new InputStreamReader(restxRequest.getContentStream()));
        for (int i=0; i < lines.size(); i++) {
          String line=lines.get(i);
          out.println(line);
          if (i + 1 == location.getLineNr()) {
            boolean farColumn=location.getColumnNr() > 80;
            out.println(Strings.repeat("String_Node_Str",Math.max(0,location.getColumnNr() - 2)) + "String_Node_Str");
            out.println(Strings.repeat(farColumn ? "String_Node_Str" : "String_Node_Str",Math.max(0,location.getColumnNr() - (ex.getOriginalMessage().length() / 2) - 3)) + "String_Node_Str" + ex.getOriginalMessage()+ "String_Node_Str");
            out.println();
          }
        }
        out.println("String_Node_Str");
        restxRequest.getContentStream().reset();
        logger.debug(ex.getClass().getSimpleName() + "String_Node_Str" + restxRequest+ "String_Node_Str"+ "String_Node_Str"+ ex.getMessage()+ "String_Node_Str"+ "String_Node_Str"+ CharStreams.toString(new InputStreamReader(restxRequest.getContentStream())));
      }
 catch (      IOException e) {
        logger.warn("String_Node_Str",e);
        out.println(ex.getMessage());
      }
    }
  }
catch (  RestxError.RestxException ex) {
    logger.debug("String_Node_Str",ex);
    restxResponse.setStatus(ex.getErrorStatus());
    restxResponse.setContentType("String_Node_Str");
    PrintWriter out=restxResponse.getWriter();
    out.println(ex.toJSON());
  }
catch (  IllegalArgumentException|IllegalStateException ex) {
    logger.warn("String_Node_Str" + ex.getClass().getSimpleName() + "String_Node_Str"+ ex.getMessage(),ex);
    restxResponse.setStatus(400);
    restxResponse.setContentType("String_Node_Str");
    PrintWriter out=restxResponse.getWriter();
    out.println("String_Node_Str");
    out.print(ex.getMessage());
  }
catch (  RuntimeException ex) {
    logger.error("String_Node_Str" + ex.getClass().getSimpleName() + "String_Node_Str"+ ex.getMessage(),ex);
    restxResponse.setStatus(500);
    restxResponse.setContentType("String_Node_Str");
    PrintWriter out=restxResponse.getWriter();
    out.println("String_Node_Str");
    out.print(ex.getMessage());
  }
 finally {
    try {
      restxRequest.closeContentStream();
    }
 catch (    Exception ex) {
    }
    try {
      restxResponse.close();
    }
 catch (    Exception ex) {
    }
    monitor.stop();
  }
}

Fixed version (ground truth):
@Override public void route(RestxRequest restxRequest,final RestxResponse restxResponse) throws IOException {
  logger.info("String_Node_Str",restxRequest);
  Monitor monitor=MonitorFactory.start("String_Node_Str" + restxRequest.getHttpMethod() + "String_Node_Str"+ restxRequest.getRestxPath());
  try {
    Optional<RestxRouting.Match> m=routing.match(restxRequest);
    if (!m.isPresent()) {
      String path=restxRequest.getRestxPath();
      StringBuilder sb=new StringBuilder().append("String_Node_Str").append(restxRequest.getHttpMethod()).append("String_Node_Str").append(path).append("String_Node_Str");
      if (hasApiDocs()) {
        sb.append("String_Node_Str").append(restxRequest.getBaseUri()).append("String_Node_Str").append("String_Node_Str");
      }
      sb.append("String_Node_Str").append("String_Node_Str");
      for (      RestxRoute route : routing.getRoutes()) {
        sb.append(route).append("String_Node_Str");
      }
      sb.append("String_Node_Str");
      restxResponse.setStatus(404);
      restxResponse.setContentType("String_Node_Str");
      PrintWriter out=restxResponse.getWriter();
      out.print(sb.toString());
    }
 else {
      RouteLifecycleListener noCache=new RouteLifecycleListener(){
        @Override public void onRouteMatch(        RestxRoute source){
        }
        @Override public void onBeforeWriteContent(        RestxRoute source){
          restxResponse.setHeader("String_Node_Str","String_Node_Str");
        }
      }
;
      RestxContext context=new RestxContext(getMode(),noCache,ImmutableList.copyOf(m.get().getMatches()));
      RestxRouteMatch match=context.nextHandlerMatch();
      match.getHandler().handle(match,restxRequest,restxResponse,context);
    }
  }
 catch (  JsonProcessingException ex) {
    logger.warn("String_Node_Str" + ex.getClass().getSimpleName(),ex);
    restxResponse.setStatus(400);
    restxResponse.setContentType("String_Node_Str");
    PrintWriter out=restxResponse.getWriter();
    if (restxRequest.getContentStream() instanceof BufferedInputStream) {
      try {
        JsonLocation location=ex.getLocation();
        restxRequest.getContentStream().reset();
        out.println(CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE,ex.getClass().getSimpleName()) + "String_Node_Str" + "String_Node_Str");
        List<String> lines=CharStreams.readLines(new InputStreamReader(restxRequest.getContentStream()));
        if (lines.isEmpty()) {
          if ("String_Node_Str".equalsIgnoreCase(restxRequest.getContentType())) {
            out.println("String_Node_Str" + restxRequest.getContentType() + "String_Node_Str"+ "String_Node_Str");
          }
 else {
            out.println("String_Node_Str" + restxRequest.getContentType() + "String_Node_Str");
          }
        }
 else {
          out.println("String_Node_Str");
          for (int i=0; i < lines.size(); i++) {
            String line=lines.get(i);
            out.println(line);
            if (i + 1 == location.getLineNr()) {
              boolean farColumn=location.getColumnNr() > 80;
              out.println(Strings.repeat("String_Node_Str",Math.max(0,location.getColumnNr() - 2)) + "String_Node_Str");
              out.println(Strings.repeat(farColumn ? "String_Node_Str" : "String_Node_Str",Math.max(0,location.getColumnNr() - (ex.getOriginalMessage().length() / 2) - 3)) + "String_Node_Str" + ex.getOriginalMessage()+ "String_Node_Str");
              out.println();
            }
          }
          out.println("String_Node_Str");
        }
        restxRequest.getContentStream().reset();
        logger.debug(ex.getClass().getSimpleName() + "String_Node_Str" + restxRequest+ "String_Node_Str"+ "String_Node_Str"+ ex.getMessage()+ "String_Node_Str"+ "String_Node_Str"+ CharStreams.toString(new InputStreamReader(restxRequest.getContentStream())));
      }
 catch (      IOException e) {
        logger.warn("String_Node_Str",e);
        out.println(ex.getMessage());
      }
    }
  }
catch (  RestxError.RestxException ex) {
    logger.debug("String_Node_Str",ex);
    restxResponse.setStatus(ex.getErrorStatus());
    restxResponse.setContentType("String_Node_Str");
    PrintWriter out=restxResponse.getWriter();
    out.println(ex.toJSON());
  }
catch (  IllegalArgumentException|IllegalStateException ex) {
    logger.warn("String_Node_Str" + ex.getClass().getSimpleName() + "String_Node_Str"+ ex.getMessage(),ex);
    restxResponse.setStatus(400);
    restxResponse.setContentType("String_Node_Str");
    PrintWriter out=restxResponse.getWriter();
    out.println("String_Node_Str");
    out.print(ex.getMessage());
  }
catch (  RuntimeException ex) {
    logger.error("String_Node_Str" + ex.getClass().getSimpleName() + "String_Node_Str"+ ex.getMessage(),ex);
    restxResponse.setStatus(500);
    restxResponse.setContentType("String_Node_Str");
    PrintWriter out=restxResponse.getWriter();
    out.println("String_Node_Str");
    out.print(ex.getMessage());
  }
 finally {
    try {
      restxRequest.closeContentStream();
    }
 catch (    Exception ex) {
    }
    try {
      restxResponse.close();
    }
 catch (    Exception ex) {
    }
    monitor.stop();
  }
}