Program: 171346
Project: 171346
Buggy source:
public void loadPropertiesFromXML(){
  if (new File("String_Node_Str").exists())   try {
    File propertiesXML=new File("String_Node_Str");
    DocumentBuilderFactory dbFactory=DocumentBuilderFactory.newInstance();
    DocumentBuilder dBuilder=dbFactory.newDocumentBuilder();
    Document doc=dBuilder.parse(propertiesXML);
    doc.getDocumentElement().normalize();
    NodeList nodes=doc.getElementsByTagName("String_Node_Str");
    Element element=(Element)nodes.item(0);
    lastSaveLocation=((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str");
    nameColour=((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str");
    name=((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str");
    race=((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str");
    quest=((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str");
    level=Integer.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    money=Integer.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    versionNumber=((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str");
    if (element.getElementsByTagName("String_Node_Str").item(0) != null) {
      lastQuickSaveName=((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str");
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    fontSize=Integer.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    lightTheme=((((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")).equals("String_Node_Str"));
    furryTailPenetrationContent=((((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")).equals("String_Node_Str"));
    nonConContent=((((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")).equals("String_Node_Str"));
    incestContent=((((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")).equals("String_Node_Str"));
    facialHairContent=((((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")).equals("String_Node_Str"));
    pubicHairContent=((((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")).equals("String_Node_Str"));
    bodyHairContent=((((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")).equals("String_Node_Str"));
    newWeaponDiscovered=Boolean.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    newClothingDiscovered=Boolean.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    newItemDiscovered=Boolean.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    newRaceDiscovered=Boolean.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    overwriteWarning=Boolean.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    fadeInText=Boolean.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    if (element.getElementsByTagName("String_Node_Str").item(0) != null) {
      androgynousIdentification=AndrogynousIdentification.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    }
    if (element.getElementsByTagName("String_Node_Str").item(0) != null) {
      humanEncountersLevel=Integer.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    }
 else {
      humanEncountersLevel=1;
    }
    if (element.getElementsByTagName("String_Node_Str").item(0) != null) {
      multiBreasts=Integer.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    }
 else {
      multiBreasts=1;
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        if (!e.getAttribute("String_Node_Str").isEmpty())         hotkeyMapPrimary.put(KeyboardAction.valueOf(e.getAttribute("String_Node_Str")),KeyCodeWithModifiers.fromString(e.getAttribute("String_Node_Str")));
 else         hotkeyMapPrimary.put(KeyboardAction.valueOf(e.getAttribute("String_Node_Str")),null);
        if (!e.getAttribute("String_Node_Str").isEmpty())         hotkeyMapSecondary.put(KeyboardAction.valueOf(e.getAttribute("String_Node_Str")),KeyCodeWithModifiers.fromString(e.getAttribute("String_Node_Str")));
 else         hotkeyMapSecondary.put(KeyboardAction.valueOf(e.getAttribute("String_Node_Str")),null);
      }
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        if (!e.getAttribute("String_Node_Str").isEmpty()) {
          genderNameFemale.put(GenderNames.valueOf(e.getAttribute("String_Node_Str")),e.getAttribute("String_Node_Str"));
        }
 else {
          genderNameFemale.put(GenderNames.valueOf(e.getAttribute("String_Node_Str")),GenderPronoun.valueOf(e.getAttribute("String_Node_Str")).getFeminine());
        }
        if (!e.getAttribute("String_Node_Str").isEmpty()) {
          genderNameMale.put(GenderNames.valueOf(e.getAttribute("String_Node_Str")),e.getAttribute("String_Node_Str"));
        }
 else {
          genderNameMale.put(GenderNames.valueOf(e.getAttribute("String_Node_Str")),GenderPronoun.valueOf(e.getAttribute("String_Node_Str")).getMasculine());
        }
        if (!e.getAttribute("String_Node_Str").isEmpty()) {
          genderNameNeutral.put(GenderNames.valueOf(e.getAttribute("String_Node_Str")),e.getAttribute("String_Node_Str"));
        }
 else {
          genderNameNeutral.put(GenderNames.valueOf(e.getAttribute("String_Node_Str")),GenderPronoun.valueOf(e.getAttribute("String_Node_Str")).getNeutral());
        }
      }
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        try {
          if (!e.getAttribute("String_Node_Str").isEmpty()) {
            genderPronounFemale.put(GenderPronoun.valueOf(e.getAttribute("String_Node_Str")),e.getAttribute("String_Node_Str"));
          }
 else {
            genderPronounFemale.put(GenderPronoun.valueOf(e.getAttribute("String_Node_Str")),GenderPronoun.valueOf(e.getAttribute("String_Node_Str")).getFeminine());
          }
          if (!e.getAttribute("String_Node_Str").isEmpty()) {
            genderPronounMale.put(GenderPronoun.valueOf(e.getAttribute("String_Node_Str")),e.getAttribute("String_Node_Str"));
          }
 else {
            genderPronounMale.put(GenderPronoun.valueOf(e.getAttribute("String_Node_Str")),GenderPronoun.valueOf(e.getAttribute("String_Node_Str")).getMasculine());
          }
        }
 catch (        IllegalArgumentException ex) {
        }
      }
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        try {
          if (!e.getAttribute("String_Node_Str").isEmpty()) {
            genderPreferencesMap.put(Gender.valueOf(e.getAttribute("String_Node_Str")),Integer.valueOf(e.getAttribute("String_Node_Str")));
          }
        }
 catch (        IllegalArgumentException ex) {
        }
      }
    }
    if (element.getElementsByTagName("String_Node_Str").item(0) != null) {
      forcedTFPreference=FurryPreference.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        if (!e.getAttribute("String_Node_Str").isEmpty())         raceFemininePreferencesMap.put(Race.valueOf(e.getAttribute("String_Node_Str")),FurryPreference.valueOf(e.getAttribute("String_Node_Str")));
      }
    }
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        if (!e.getAttribute("String_Node_Str").isEmpty())         raceMasculinePreferencesMap.put(Race.valueOf(e.getAttribute("String_Node_Str")),FurryPreference.valueOf(e.getAttribute("String_Node_Str")));
      }
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        if (!e.getAttribute("String_Node_Str").isEmpty()) {
          if (ItemType.idToItemMap.get(e.getAttribute("String_Node_Str")) != null)           itemsDiscovered.add(ItemType.idToItemMap.get(e.getAttribute("String_Node_Str")));
        }
      }
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        if (!e.getAttribute("String_Node_Str").isEmpty()) {
          weaponsDiscovered.add(WeaponType.idToWeaponMap.get(e.getAttribute("String_Node_Str")));
        }
      }
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        if (!e.getAttribute("String_Node_Str").isEmpty()) {
          clothingDiscovered.add(ClothingType.idToClothingMap.get(e.getAttribute("String_Node_Str")));
        }
      }
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        if (!e.getAttribute("String_Node_Str").isEmpty()) {
          if (Boolean.valueOf(e.getAttribute("String_Node_Str"))) {
            this.racesDiscovered.add(Race.valueOf(e.getAttribute("String_Node_Str")));
          }
        }
        if (!e.getAttribute("String_Node_Str").isEmpty()) {
          if (Boolean.valueOf(e.getAttribute("String_Node_Str"))) {
            this.racesAdvancedKnowledge.add(Race.valueOf(e.getAttribute("String_Node_Str")));
          }
        }
      }
    }
  }
 catch (  Exception e) {
    e.printStackTrace();
  }
}

Fixed version (ground truth):
public void loadPropertiesFromXML(){
  if (new File("String_Node_Str").exists())   try {
    File propertiesXML=new File("String_Node_Str");
    DocumentBuilderFactory dbFactory=DocumentBuilderFactory.newInstance();
    DocumentBuilder dBuilder=dbFactory.newDocumentBuilder();
    Document doc=dBuilder.parse(propertiesXML);
    doc.getDocumentElement().normalize();
    NodeList nodes=doc.getElementsByTagName("String_Node_Str");
    Element element=(Element)nodes.item(0);
    lastSaveLocation=((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str");
    nameColour=((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str");
    name=((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str");
    race=((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str");
    quest=((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str");
    level=Integer.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    money=Integer.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    if (element.getElementsByTagName("String_Node_Str").item(0) != null) {
      arcaneEssences=Integer.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    }
    versionNumber=((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str");
    if (element.getElementsByTagName("String_Node_Str").item(0) != null) {
      lastQuickSaveName=((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str");
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    fontSize=Integer.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    lightTheme=((((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")).equals("String_Node_Str"));
    furryTailPenetrationContent=((((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")).equals("String_Node_Str"));
    nonConContent=((((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")).equals("String_Node_Str"));
    incestContent=((((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")).equals("String_Node_Str"));
    facialHairContent=((((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")).equals("String_Node_Str"));
    pubicHairContent=((((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")).equals("String_Node_Str"));
    bodyHairContent=((((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")).equals("String_Node_Str"));
    newWeaponDiscovered=Boolean.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    newClothingDiscovered=Boolean.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    newItemDiscovered=Boolean.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    newRaceDiscovered=Boolean.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    overwriteWarning=Boolean.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    fadeInText=Boolean.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    if (element.getElementsByTagName("String_Node_Str").item(0) != null) {
      androgynousIdentification=AndrogynousIdentification.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    }
    if (element.getElementsByTagName("String_Node_Str").item(0) != null) {
      humanEncountersLevel=Integer.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    }
 else {
      humanEncountersLevel=1;
    }
    if (element.getElementsByTagName("String_Node_Str").item(0) != null) {
      multiBreasts=Integer.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    }
 else {
      multiBreasts=1;
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        if (!e.getAttribute("String_Node_Str").isEmpty())         hotkeyMapPrimary.put(KeyboardAction.valueOf(e.getAttribute("String_Node_Str")),KeyCodeWithModifiers.fromString(e.getAttribute("String_Node_Str")));
 else         hotkeyMapPrimary.put(KeyboardAction.valueOf(e.getAttribute("String_Node_Str")),null);
        if (!e.getAttribute("String_Node_Str").isEmpty())         hotkeyMapSecondary.put(KeyboardAction.valueOf(e.getAttribute("String_Node_Str")),KeyCodeWithModifiers.fromString(e.getAttribute("String_Node_Str")));
 else         hotkeyMapSecondary.put(KeyboardAction.valueOf(e.getAttribute("String_Node_Str")),null);
      }
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        if (!e.getAttribute("String_Node_Str").isEmpty()) {
          genderNameFemale.put(GenderNames.valueOf(e.getAttribute("String_Node_Str")),e.getAttribute("String_Node_Str"));
        }
 else {
          genderNameFemale.put(GenderNames.valueOf(e.getAttribute("String_Node_Str")),GenderPronoun.valueOf(e.getAttribute("String_Node_Str")).getFeminine());
        }
        if (!e.getAttribute("String_Node_Str").isEmpty()) {
          genderNameMale.put(GenderNames.valueOf(e.getAttribute("String_Node_Str")),e.getAttribute("String_Node_Str"));
        }
 else {
          genderNameMale.put(GenderNames.valueOf(e.getAttribute("String_Node_Str")),GenderPronoun.valueOf(e.getAttribute("String_Node_Str")).getMasculine());
        }
        if (!e.getAttribute("String_Node_Str").isEmpty()) {
          genderNameNeutral.put(GenderNames.valueOf(e.getAttribute("String_Node_Str")),e.getAttribute("String_Node_Str"));
        }
 else {
          genderNameNeutral.put(GenderNames.valueOf(e.getAttribute("String_Node_Str")),GenderPronoun.valueOf(e.getAttribute("String_Node_Str")).getNeutral());
        }
      }
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        try {
          if (!e.getAttribute("String_Node_Str").isEmpty()) {
            genderPronounFemale.put(GenderPronoun.valueOf(e.getAttribute("String_Node_Str")),e.getAttribute("String_Node_Str"));
          }
 else {
            genderPronounFemale.put(GenderPronoun.valueOf(e.getAttribute("String_Node_Str")),GenderPronoun.valueOf(e.getAttribute("String_Node_Str")).getFeminine());
          }
          if (!e.getAttribute("String_Node_Str").isEmpty()) {
            genderPronounMale.put(GenderPronoun.valueOf(e.getAttribute("String_Node_Str")),e.getAttribute("String_Node_Str"));
          }
 else {
            genderPronounMale.put(GenderPronoun.valueOf(e.getAttribute("String_Node_Str")),GenderPronoun.valueOf(e.getAttribute("String_Node_Str")).getMasculine());
          }
        }
 catch (        IllegalArgumentException ex) {
        }
      }
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        try {
          if (!e.getAttribute("String_Node_Str").isEmpty()) {
            genderPreferencesMap.put(Gender.valueOf(e.getAttribute("String_Node_Str")),Integer.valueOf(e.getAttribute("String_Node_Str")));
          }
        }
 catch (        IllegalArgumentException ex) {
        }
      }
    }
    if (element.getElementsByTagName("String_Node_Str").item(0) != null) {
      forcedTFPreference=FurryPreference.valueOf(((Element)element.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str"));
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        if (!e.getAttribute("String_Node_Str").isEmpty())         raceFemininePreferencesMap.put(Race.valueOf(e.getAttribute("String_Node_Str")),FurryPreference.valueOf(e.getAttribute("String_Node_Str")));
      }
    }
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        if (!e.getAttribute("String_Node_Str").isEmpty())         raceMasculinePreferencesMap.put(Race.valueOf(e.getAttribute("String_Node_Str")),FurryPreference.valueOf(e.getAttribute("String_Node_Str")));
      }
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        if (!e.getAttribute("String_Node_Str").isEmpty()) {
          if (ItemType.idToItemMap.get(e.getAttribute("String_Node_Str")) != null)           itemsDiscovered.add(ItemType.idToItemMap.get(e.getAttribute("String_Node_Str")));
        }
      }
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        if (!e.getAttribute("String_Node_Str").isEmpty()) {
          weaponsDiscovered.add(WeaponType.idToWeaponMap.get(e.getAttribute("String_Node_Str")));
        }
      }
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        if (!e.getAttribute("String_Node_Str").isEmpty()) {
          clothingDiscovered.add(ClothingType.idToClothingMap.get(e.getAttribute("String_Node_Str")));
        }
      }
    }
    nodes=doc.getElementsByTagName("String_Node_Str");
    element=(Element)nodes.item(0);
    if (element != null && element.getElementsByTagName("String_Node_Str") != null) {
      for (int i=0; i < element.getElementsByTagName("String_Node_Str").getLength(); i++) {
        Element e=((Element)element.getElementsByTagName("String_Node_Str").item(i));
        if (!e.getAttribute("String_Node_Str").isEmpty()) {
          if (Boolean.valueOf(e.getAttribute("String_Node_Str"))) {
            this.racesDiscovered.add(Race.valueOf(e.getAttribute("String_Node_Str")));
          }
        }
        if (!e.getAttribute("String_Node_Str").isEmpty()) {
          if (Boolean.valueOf(e.getAttribute("String_Node_Str"))) {
            this.racesAdvancedKnowledge.add(Race.valueOf(e.getAttribute("String_Node_Str")));
          }
        }
      }
    }
  }
 catch (  Exception e) {
    e.printStackTrace();
  }
}