Program: 16270
Project: 16270
Buggy source:
protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
  final String pi=Https.getThisPathInfo(request);
  final ServletContext ctx=getServletContext();
  final boolean withpi=pi != null && pi.length() != 0 && !(pi.startsWith("String_Node_Str") || "String_Node_Str".equals(pi));
  if (withpi && pi.startsWith(ClassWebResource.PATH_PREFIX)) {
    final ClassWebResource cwr=getClassWebResource();
    final HttpSession hsess=shallSession(cwr,pi) ? request.getSession(false) : null;
    Object oldsess=null;
    if (hsess == null) {
      oldsess=SessionsCtrl.getRawCurrent();
      SessionsCtrl.setCurrent(new SessionResolverImpl(ctx,request));
    }
    WebApp wapp;
    Session sess;
    final Object old=hsess != null ? (wapp=WebManager.getWebAppIfAny(ctx)) != null && (sess=SessionsCtrl.getSession(wapp,hsess)) != null ? I18Ns.setup(sess,request,response,"String_Node_Str") : I18Ns.setup(hsess,request,response,"String_Node_Str") : Charsets.setup(null,request,response,"String_Node_Str");
    try {
      cwr.service(request,response,pi.substring(ClassWebResource.PATH_PREFIX.length()));
    }
  finally {
      if (hsess != null)       I18Ns.cleanup(request,old);
 else {
        Charsets.cleanup(request,old);
        SessionsCtrl.setRawCurrent(oldsess);
      }
    }
    return;
  }
  final Session sess=WebManager.getSession(ctx,request,false);
  if (withpi) {
    final AuExtension aue=getAuExtensionByPath(pi);
    if (aue == null) {
      response.sendError(response.SC_NOT_FOUND);
      log.debug("String_Node_Str" + pi);
      return;
    }
    Object oldsess=null;
    if (sess == null) {
      oldsess=SessionsCtrl.getRawCurrent();
      SessionsCtrl.setCurrent(new SessionResolverImpl(ctx,request));
    }
    final Object old=sess != null ? I18Ns.setup(sess,request,response,"String_Node_Str") : Charsets.setup(null,request,response,"String_Node_Str");
    try {
      aue.service(request,response,pi);
    }
  finally {
      if (sess != null)       I18Ns.cleanup(request,old);
 else {
        Charsets.cleanup(request,old);
        SessionsCtrl.setRawCurrent(oldsess);
      }
    }
    return;
  }
  if (sess == null) {
    response.setIntHeader("String_Node_Str",response.SC_GONE);
    final WebApp wapp=WebManager.getWebAppIfAny(ctx);
    final String dtid=getAuDecoder(wapp).getDesktopId(request);
    if (dtid != null)     sessionTimeout(request,response,wapp,dtid);
    return;
  }
  response.setHeader("String_Node_Str","String_Node_Str");
  response.setHeader("String_Node_Str","String_Node_Str");
  response.setHeader("String_Node_Str","String_Node_Str");
  response.setHeader("String_Node_Str","String_Node_Str");
  final Object old=I18Ns.setup(sess,request,response,"String_Node_Str");
  try {
    process(sess,request,response);
  }
  finally {
    I18Ns.cleanup(request,old);
  }
}

Fixed version (ground truth):
protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
  final String pi=Https.getThisPathInfo(request);
  final ServletContext ctx=getServletContext();
  final boolean withpi=pi != null && pi.length() != 0 && !(pi.startsWith("String_Node_Str") || "String_Node_Str".equals(pi));
  if (withpi && pi.startsWith(ClassWebResource.PATH_PREFIX)) {
    final ClassWebResource cwr=getClassWebResource();
    final HttpSession hsess=shallSession(cwr,pi) ? request.getSession(false) : null;
    Object oldsess=null;
    if (hsess == null) {
      oldsess=SessionsCtrl.getRawCurrent();
      SessionsCtrl.setCurrent(new SessionResolverImpl(ctx,request));
    }
    WebApp wapp;
    Session sess;
    final Object old=hsess != null ? (wapp=WebManager.getWebAppIfAny(ctx)) != null && (sess=SessionsCtrl.getSession(wapp,hsess)) != null ? I18Ns.setup(sess,request,response,"String_Node_Str") : I18Ns.setup(hsess,request,response,"String_Node_Str") : Charsets.setup(null,request,response,"String_Node_Str");
    try {
      cwr.service(request,response,pi.substring(ClassWebResource.PATH_PREFIX.length()));
    }
  finally {
      if (hsess != null)       I18Ns.cleanup(request,old);
 else {
        Charsets.cleanup(request,old);
        SessionsCtrl.setRawCurrent(oldsess);
      }
    }
    return;
  }
  final Session sess=WebManager.getSession(ctx,request,false);
  if (withpi) {
    final AuExtension aue=getAuExtensionByPath(pi);
    if (aue == null) {
      response.sendError(HttpServletResponse.SC_NOT_FOUND);
      log.debug("String_Node_Str" + pi);
      return;
    }
    Object oldsess=null;
    if (sess == null) {
      oldsess=SessionsCtrl.getRawCurrent();
      SessionsCtrl.setCurrent(new SessionResolverImpl(ctx,request));
    }
    final Object old=sess != null ? I18Ns.setup(sess,request,response,"String_Node_Str") : Charsets.setup(null,request,response,"String_Node_Str");
    try {
      aue.service(request,response,pi);
    }
  finally {
      if (sess != null)       I18Ns.cleanup(request,old);
 else {
        Charsets.cleanup(request,old);
        SessionsCtrl.setRawCurrent(oldsess);
      }
    }
    return;
  }
  if (sess == null) {
    response.setIntHeader("String_Node_Str",HttpServletResponse.SC_GONE);
    final WebApp wapp=WebManager.getWebAppIfAny(ctx);
    final String dtid=getAuDecoder(wapp).getDesktopId(request);
    if (dtid != null)     sessionTimeout(request,response,wapp,dtid);
    return;
  }
  response.setHeader("String_Node_Str","String_Node_Str");
  response.setHeader("String_Node_Str","String_Node_Str");
  response.setHeader("String_Node_Str","String_Node_Str");
  response.setHeader("String_Node_Str","String_Node_Str");
  final Object old=I18Ns.setup(sess,request,response,"String_Node_Str");
  try {
    process(sess,request,response);
  }
  finally {
    I18Ns.cleanup(request,old);
  }
}