Program: 171307
Project: 171307
Buggy source:
public static void loadNPCVariablesFromXML(NPC npc,StringBuilder log,Element parentElement,Document doc){
  GameCharacter.loadGameCharacterVariablesFromXML(npc,log,parentElement,doc);
  Element npcSpecificElement=(Element)parentElement.getElementsByTagName("String_Node_Str").item(0);
  if (npcSpecificElement != null) {
    npc.setLastTimeEncountered(Long.valueOf(((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")));
    npc.setLastTimeHadSex(Long.valueOf(((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")),false);
    if (((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)) != null) {
      npc.setLastTimeOrgasmed(Long.valueOf(((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")));
    }
 else {
      npc.setLastTimeOrgasmed(npc.getLastTimeHadSex());
    }
    npc.setRomanceProgress(Integer.valueOf(((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")));
    npc.setBuyModifier(Float.valueOf(((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")));
    npc.setSellModifier(Float.valueOf(((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")));
    npc.addedToContacts=(Boolean.valueOf(((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")));
    for (int i=0; i < ((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getElementsByTagName("String_Node_Str").getLength(); i++) {
      Element e=(Element)((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getElementsByTagName("String_Node_Str").item(i);
      npc.NPCFlagValues.add(NPCFlagValue.valueOf(e.getAttribute("String_Node_Str")));
    }
    npc.bodyPreference=Body.loadFromXML(log,(Element)parentElement.getElementsByTagName("String_Node_Str").item(0),doc);
  }
}

Fixed version (ground truth):
public static void loadNPCVariablesFromXML(NPC npc,StringBuilder log,Element parentElement,Document doc,CharacterImportSetting... settings){
  GameCharacter.loadGameCharacterVariablesFromXML(npc,log,parentElement,doc,settings);
  Element npcSpecificElement=(Element)parentElement.getElementsByTagName("String_Node_Str").item(0);
  if (npcSpecificElement != null) {
    npc.setLastTimeEncountered(Long.valueOf(((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")));
    npc.setLastTimeHadSex(Long.valueOf(((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")),false);
    if (((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)) != null) {
      npc.setLastTimeOrgasmed(Long.valueOf(((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")));
    }
 else {
      npc.setLastTimeOrgasmed(npc.getLastTimeHadSex());
    }
    npc.setRomanceProgress(Integer.valueOf(((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")));
    npc.setBuyModifier(Float.valueOf(((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")));
    npc.setSellModifier(Float.valueOf(((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")));
    npc.addedToContacts=(Boolean.valueOf(((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getAttribute("String_Node_Str")));
    for (int i=0; i < ((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getElementsByTagName("String_Node_Str").getLength(); i++) {
      Element e=(Element)((Element)npcSpecificElement.getElementsByTagName("String_Node_Str").item(0)).getElementsByTagName("String_Node_Str").item(i);
      npc.NPCFlagValues.add(NPCFlagValue.valueOf(e.getAttribute("String_Node_Str")));
    }
    npc.bodyPreference=Body.loadFromXML(log,(Element)parentElement.getElementsByTagName("String_Node_Str").item(0),doc);
  }
}