public void createDiseaseForest(String fileName){
		try{
			BufferedReader er = new BufferedReader(new FileReader(fileName), 1024);

			String curLine = er.readLine();
			// The first line of a file should always be the first disease.
			DiseaseNode diseaseHead = DiseaseNode.createDiseaseNode(curLine, null, null);
			this.head =diseaseHead;
			DiseaseNode curDisease = diseaseHead;

			
			PatientNode prevPatient = null;
			// Read the entire file.
			while((curLine = er.readLine()) != null){
				
				if (curLine.contains("*****")){
					curLine = er.readLine();
					if (curLine == null){ // will happen if the last line of the file 
						er.close();
						return;
					}
					
					// Create a disease node based on the line and add it to the rest of 
					// the disease nodes
					curDisease = DiseaseNode.createDiseaseNode(curLine, null, null);
					head.addDiseaseNode(curDisease);
					continue;
					
				} else{// The line represents a patient.
					PatientNode temp = PatientNode.createPatient(curLine);
					
					if (temp.getDepth() == 1) { // If depth == 1, this is patient zero
						curDisease.addPatientZero(temp);
					} 
					//If the depth is greater than previous depth, the patient is a child
					else if (temp.getDepth() > prevPatient.getDepth()){ 
						prevPatient.addChild(curDisease, temp);
					} 
					// If the depths are equal, they are siblings
					else if (temp.getDepth() == prevPatient.getDepth()){
						prevPatient.addSibling(curDisease,  temp);
					} 
					// If none of these cases, we go back up the to a previous level by 
					// following threads until at the right level.
					else {
						while (temp.getDepth() != prevPatient.getDepth()){
							prevPatient = prevPatient.getSibling();
						}
						prevPatient.addSibling(curDisease, temp);
					}
					prevPatient = temp;
				}
			}
			
			er.close();
		} catch (FileNotFoundException e){
			System.err.println("Can't open " + fileName);
			return;  
		} catch (IOException i){
			System.err.println("Can not read from " + fileName);
		}
		
	}