Program: 49596
Project: 49596
Buggy source:
public void handleMap(Node node){
  BeanDefinitionBuilder mapConfigBuilder=createBeanBuilder(MapConfig.class);
  final AbstractBeanDefinition beanDefinition=mapConfigBuilder.getBeanDefinition();
  final Node attName=node.getAttributes().getNamedItem("String_Node_Str");
  final String name=getValue(attName);
  mapConfigBuilder.addPropertyValue("String_Node_Str",name);
  fillAttributeValues(node,mapConfigBuilder,"String_Node_Str","String_Node_Str");
  final BeanDefinitionBuilder maxSizeConfigBuilder=createBeanBuilder(MaxSizeConfig.class);
  final AbstractBeanDefinition maxSizeConfigBeanDefinition=maxSizeConfigBuilder.getBeanDefinition();
  mapConfigBuilder.addPropertyValue("String_Node_Str",maxSizeConfigBeanDefinition);
  final Node maxSizeNode=node.getAttributes().getNamedItem("String_Node_Str");
  if (maxSizeNode != null) {
    maxSizeConfigBuilder.addPropertyValue("String_Node_Str",getValue(maxSizeNode));
  }
  final Node maxSizePolicyNode=node.getAttributes().getNamedItem("String_Node_Str");
  if (maxSizePolicyNode != null) {
    maxSizeConfigBuilder.addPropertyValue(xmlToJavaName(cleanNodeName(maxSizePolicyNode)),getValue(maxSizePolicyNode));
  }
  for (  org.w3c.dom.Node childNode : new IterableNodeList(node.getChildNodes(),Node.ELEMENT_NODE)) {
    final String nodeName=cleanNodeName(childNode.getNodeName());
    if ("String_Node_Str".equals(nodeName)) {
      handleMapStoreConfig(childNode,mapConfigBuilder);
    }
 else     if ("String_Node_Str".equals(nodeName)) {
      handleNearCacheConfig(childNode,mapConfigBuilder);
    }
 else     if ("String_Node_Str".equals(nodeName)) {
      final BeanDefinitionBuilder wanReplicationRefBuilder=createBeanBuilder(WanReplicationRef.class);
      final AbstractBeanDefinition wanReplicationRefBeanDefinition=wanReplicationRefBuilder.getBeanDefinition();
      fillValues(childNode,wanReplicationRefBuilder);
      mapConfigBuilder.addPropertyValue("String_Node_Str",wanReplicationRefBeanDefinition);
    }
 else     if ("String_Node_Str".equals(nodeName)) {
      ManagedList indexes=new ManagedList();
      for (      Node indexNode : new IterableNodeList(childNode.getChildNodes(),Node.ELEMENT_NODE)) {
        final BeanDefinitionBuilder indexConfBuilder=createBeanBuilder(MapIndexConfig.class);
        fillAttributeValues(indexNode,indexConfBuilder);
        indexes.add(indexConfBuilder.getBeanDefinition());
      }
      mapConfigBuilder.addPropertyValue("String_Node_Str",indexes);
    }
 else     if ("String_Node_Str".equals(nodeName)) {
      ManagedList listeners=parseListeners(childNode,"String_Node_Str",EntryListenerConfig.class);
      mapConfigBuilder.addPropertyValue("String_Node_Str",listeners);
    }
  }
  mapConfigManagedMap.put(name,beanDefinition);
}

Fixed version (ground truth):
public void handleMap(Node node){
  BeanDefinitionBuilder mapConfigBuilder=createBeanBuilder(MapConfig.class);
  final AbstractBeanDefinition beanDefinition=mapConfigBuilder.getBeanDefinition();
  final Node attName=node.getAttributes().getNamedItem("String_Node_Str");
  final String name=getValue(attName);
  mapConfigBuilder.addPropertyValue("String_Node_Str",name);
  fillAttributeValues(node,mapConfigBuilder,"String_Node_Str","String_Node_Str");
  final BeanDefinitionBuilder maxSizeConfigBuilder=createBeanBuilder(MaxSizeConfig.class);
  final AbstractBeanDefinition maxSizeConfigBeanDefinition=maxSizeConfigBuilder.getBeanDefinition();
  mapConfigBuilder.addPropertyValue("String_Node_Str",maxSizeConfigBeanDefinition);
  final Node maxSizeNode=node.getAttributes().getNamedItem("String_Node_Str");
  if (maxSizeNode != null) {
    maxSizeConfigBuilder.addPropertyValue("String_Node_Str",getValue(maxSizeNode));
  }
  final Node maxSizePolicyNode=node.getAttributes().getNamedItem("String_Node_Str");
  if (maxSizePolicyNode != null) {
    maxSizeConfigBuilder.addPropertyValue(xmlToJavaName(cleanNodeName(maxSizePolicyNode)),getValue(maxSizePolicyNode));
  }
  for (  org.w3c.dom.Node childNode : new IterableNodeList(node.getChildNodes(),Node.ELEMENT_NODE)) {
    final String nodeName=cleanNodeName(childNode.getNodeName());
    if ("String_Node_Str".equals(nodeName)) {
      handleMapStoreConfig(childNode,mapConfigBuilder);
    }
 else     if ("String_Node_Str".equals(nodeName)) {
      handleNearCacheConfig(childNode,mapConfigBuilder);
    }
 else     if ("String_Node_Str".equals(nodeName)) {
      final BeanDefinitionBuilder wanReplicationRefBuilder=createBeanBuilder(WanReplicationRef.class);
      final AbstractBeanDefinition wanReplicationRefBeanDefinition=wanReplicationRefBuilder.getBeanDefinition();
      fillValues(childNode,wanReplicationRefBuilder);
      mapConfigBuilder.addPropertyValue("String_Node_Str",wanReplicationRefBeanDefinition);
    }
 else     if ("String_Node_Str".equals(nodeName)) {
      ManagedList indexes=new ManagedList();
      for (      Node indexNode : new IterableNodeList(childNode.getChildNodes(),Node.ELEMENT_NODE)) {
        final BeanDefinitionBuilder indexConfBuilder=createBeanBuilder(MapIndexConfig.class);
        fillAttributeValues(indexNode,indexConfBuilder);
        indexes.add(indexConfBuilder.getBeanDefinition());
      }
      mapConfigBuilder.addPropertyValue("String_Node_Str",indexes);
    }
 else     if ("String_Node_Str".equals(nodeName)) {
      ManagedList listeners=parseListeners(childNode,EntryListenerConfig.class);
      mapConfigBuilder.addPropertyValue("String_Node_Str",listeners);
    }
  }
  mapConfigManagedMap.put(name,beanDefinition);
}