Program: 35793
Project: 35793
Buggy source:
/** 
 * {@inheritDoc}
 * @see javax.servlet.GenericServlet#init(javax.servlet.ServletConfig)
 */
@Override public void init(ServletConfig config) throws ServletException {
  TreeMap<String,ReverseConfiguration> confTree=new TreeMap<String,ReverseConfiguration>();
  try {
    InputStream propertiesInput=RewriteProxyServlet.class.getResourceAsStream("String_Node_Str");
    Properties properties=new Properties();
    properties.load(propertiesInput);
    propertiesInput.close();
    for (    Object key : properties.keySet()) {
      String[] keySplitted=((String)key).split("String_Node_Str");
      String rule=keySplitted[0];
      String attribute=keySplitted[1];
      String value=properties.getProperty((String)key);
      ReverseConfiguration currentConf=confTree.get(rule);
      if (currentConf == null) {
        currentConf=new ReverseConfiguration();
      }
      if ("String_Node_Str".equals(attribute)) {
        currentConf.setProvider(value);
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setUrlMatchPattern(Pattern.compile(value));
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setUrlRewrite(value);
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setQueryMatchPattern(Pattern.compile(value));
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setQueryRewrite(value);
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setSchemePattern(value);
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setSchemeRewrite(value);
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setRedirect(Integer.valueOf(value));
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setPortPattern(Integer.valueOf(value));
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setPortRewrite(Integer.valueOf(value));
      }
      validateConfiguration(rule,currentConf);
      confTree.put(rule,currentConf);
    }
    configuration.addAll(confTree.values());
  }
 catch (  IOException e) {
    throw new ServletException(e);
  }
}

Fixed version (ground truth):
/** 
 * {@inheritDoc}
 * @see javax.servlet.GenericServlet#init(javax.servlet.ServletConfig)
 */
@Override public void init(ServletConfig config) throws ServletException {
  TreeMap<String,ReverseConfiguration> confTree=new TreeMap<String,ReverseConfiguration>();
  InputStream propertiesInput=null;
  try {
    propertiesInput=RewriteProxyServlet.class.getResourceAsStream("String_Node_Str");
    Properties properties=new Properties();
    properties.load(propertiesInput);
    propertiesInput.close();
    for (    Entry<Object,Object> entry : properties.entrySet()) {
      String key=(String)entry.getKey();
      String[] keySplitted=key.split("String_Node_Str");
      String rule=keySplitted[0];
      String attribute=keySplitted[1];
      String value=(String)entry.getValue();
      ReverseConfiguration currentConf=confTree.get(rule);
      if (currentConf == null) {
        currentConf=new ReverseConfiguration();
      }
      if ("String_Node_Str".equals(attribute)) {
        currentConf.setProvider(value);
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setUrlMatchPattern(Pattern.compile(value));
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setUrlRewrite(value);
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setQueryMatchPattern(Pattern.compile(value));
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setQueryRewrite(value);
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setSchemePattern(value);
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setSchemeRewrite(value);
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setRedirect(Integer.valueOf(value));
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setPortPattern(Integer.valueOf(value));
      }
 else       if ("String_Node_Str".equals(attribute)) {
        currentConf.setPortRewrite(Integer.valueOf(value));
      }
      validateConfiguration(rule,currentConf);
      confTree.put(rule,currentConf);
    }
    configuration.addAll(confTree.values());
  }
 catch (  IOException e) {
    throw new ServletException(e);
  }
 finally {
    if (propertiesInput != null) {
      try {
        propertiesInput.close();
      }
 catch (      IOException e) {
        LOG.error("String_Node_Str",e);
      }
    }
  }
}