Program: 15606
Project: 15606
Buggy source:
public void init() throws ServletException {
  try {
    config=createConfiguration();
    final String iciInitParamValue=getInitParameter(Configuration.INCOMPATIBLE_IMPROVEMENTS);
    if (iciInitParamValue != null) {
      config.setSetting(Configuration.INCOMPATIBLE_IMPROVEMENTS,iciInitParamValue);
    }
    config.setTemplateExceptionHandler(TemplateExceptionHandler.HTML_DEBUG_HANDLER);
    contentType=DEFAULT_CONTENT_TYPE;
    wrapper=createObjectWrapper();
    if (LOG.isDebugEnabled()) {
      LOG.debug("String_Node_Str" + wrapper);
    }
    config.setObjectWrapper(wrapper);
    templatePath=getInitParameter(INIT_PARAM_TEMPLATE_PATH);
    if (templatePath == null)     templatePath="String_Node_Str";
    config.setTemplateLoader(createTemplateLoader(templatePath));
    Enumeration initpnames=getServletConfig().getInitParameterNames();
    while (initpnames.hasMoreElements()) {
      String name=(String)initpnames.nextElement();
      String value=getInitParameter(name);
      if (name == null) {
        throw new ServletException("String_Node_Str" + "String_Node_Str");
      }
      if (value == null) {
        throw new ServletException("String_Node_Str" + "String_Node_Str");
      }
      if (name.equals(DEPR_INITPARAM_OBJECT_WRAPPER) || name.equals(Configurable.OBJECT_WRAPPER_KEY) || name.equals(INIT_PARAM_TEMPLATE_PATH)|| name.equals(Configuration.INCOMPATIBLE_IMPROVEMENTS)) {
      }
 else       if (name.equals(DEPR_INITPARAM_ENCODING)) {
        if (getInitParameter(Configuration.DEFAULT_ENCODING_KEY) != null) {
          throw new ServletException("String_Node_Str" + Configuration.DEFAULT_ENCODING_KEY + "String_Node_Str"+ DEPR_INITPARAM_ENCODING);
        }
        config.setDefaultEncoding(value);
      }
 else       if (name.equals(DEPR_INITPARAM_TEMPLATE_DELAY)) {
        if (getInitParameter(Configuration.TEMPLATE_UPDATE_DELAY_KEY) != null) {
          throw new ServletException("String_Node_Str" + Configuration.TEMPLATE_UPDATE_DELAY_KEY + "String_Node_Str"+ DEPR_INITPARAM_TEMPLATE_DELAY);
        }
        try {
          config.setTemplateUpdateDelay(Integer.parseInt(value));
        }
 catch (        NumberFormatException e) {
        }
      }
 else       if (name.equals(DEPR_INITPARAM_TEMPLATE_EXCEPTION_HANDLER)) {
        if (getInitParameter(Configurable.TEMPLATE_EXCEPTION_HANDLER_KEY) != null) {
          throw new ServletException("String_Node_Str" + Configurable.TEMPLATE_EXCEPTION_HANDLER_KEY + "String_Node_Str"+ DEPR_INITPARAM_TEMPLATE_EXCEPTION_HANDLER);
        }
        if (DEPR_INITPARAM_TEMPLATE_EXCEPTION_HANDLER_RETHROW.equals(value)) {
          config.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
        }
 else         if (DEPR_INITPARAM_TEMPLATE_EXCEPTION_HANDLER_DEBUG.equals(value)) {
          config.setTemplateExceptionHandler(TemplateExceptionHandler.DEBUG_HANDLER);
        }
 else         if (DEPR_INITPARAM_TEMPLATE_EXCEPTION_HANDLER_HTML_DEBUG.equals(value)) {
          config.setTemplateExceptionHandler(TemplateExceptionHandler.HTML_DEBUG_HANDLER);
        }
 else         if (DEPR_INITPARAM_TEMPLATE_EXCEPTION_HANDLER_IGNORE.equals(value)) {
          config.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
        }
 else {
          throw new ServletException("String_Node_Str" + DEPR_INITPARAM_TEMPLATE_EXCEPTION_HANDLER + "String_Node_Str"+ value);
        }
      }
 else       if (name.equals(INIT_PARAM_NO_CACHE)) {
        nocache=StringUtil.getYesNo(value);
      }
 else       if (name.equals(DEPR_INITPARAM_DEBUG)) {
        if (getInitParameter(INIT_PARAM_DEBUG) != null) {
          throw new ServletException("String_Node_Str" + INIT_PARAM_DEBUG + "String_Node_Str"+ DEPR_INITPARAM_DEBUG);
        }
        debug=StringUtil.getYesNo(value);
      }
 else       if (name.equals(INIT_PARAM_DEBUG)) {
        debug=StringUtil.getYesNo(value);
      }
 else       if (name.equals(INIT_PARAM_CONTENT_TYPE)) {
        contentType=value;
      }
 else       if (name.equals(INIT_PARAM_META_INF_TLD_LOCATIONS)) {
        ;
        metaInfTldSources=parseAsMetaInfTldLocations(value);
      }
 else       if (name.equals(INIT_PARAM_CLASSPATH_TLDS)) {
        ;
        classpathTlds=parseCommaSeparatedList(value);
      }
 else {
        config.setSetting(name,value);
      }
    }
    noCharsetInContentType=true;
    int i=contentType.toLowerCase().indexOf("String_Node_Str");
    if (i != -1) {
      char c=' ';
      i--;
      while (i >= 0) {
        c=contentType.charAt(i);
        if (!Character.isWhitespace(c))         break;
        i--;
      }
      if (i == -1 || c == ';') {
        noCharsetInContentType=false;
      }
    }
  }
 catch (  ServletException e) {
    throw e;
  }
catch (  Exception e) {
    throw new ServletException("String_Node_Str",e);
  }
}

Fixed version (ground truth):
public void init() throws ServletException {
  try {
    initialize();
  }
 catch (  Exception e) {
    throw new ServletException("String_Node_Str" + this.getClass().getName() + "String_Node_Str",e);
  }
}