private int inOrderSave(PhylogeneticTree t, PrintWriter out, int index)
	{
		if(t.getLeftTree() != null){
			index = inOrderSave(t.getLeftTree(), out,index);
		}
		if(t.getId() == 0)
		{
			t.setId(index);
			index++;
			if(t.getLabel() != null){
				out.println(t.getId()+"[shape=ellipse,label="+t.getLabel()+"];");
			}
			if(t.getLeftTree() != null) {
				String label = (t.getLeftEdgeLabel() != "") ? "[label="+t.getLeftEdgeLabel()+"]": "";
				out.println(t.getId() +"->"+ t.getLeftTree().getId()+label+";");
			}
		}
		
		if(t.getRightTree() != null){
			index = inOrderSave(t.getRightTree(),out,index);
		}
		
		if(t.getRightTree()!= null) {
			String label = (t.getRightEdgeLabel() != "") ? "[shape=ellipse,label="+t.getRightEdgeLabel()+"]" : "";
			out.println(t.getId()+"->"+t.getRightTree().getId()+label+";");
		}
		
		return index;
	}