private void persistData(){
		int final_ijDyadsWithNoEdges = 0;
		ArrayList<double[]> final_ijStats = new ArrayList<double[]>();
		ArrayList<double[]> finalEventRateStatsList = new ArrayList<double[]>();
	    
		
		int possiblePermutations = _uniqueActors.size() * (_uniqueActors.size()-1);
		System.out.println("unique number of actors: " + _uniqueActors.size());
		System.out.println("possible permutations: " + possiblePermutations);
		
		try {
		
			BufferedWriter eventWriter = new BufferedWriter(new FileWriter("eventRateStats.data"));
			BufferedWriter ijWriter = new BufferedWriter(new FileWriter("ijStats.data"));
			
			for(int i=0; i<_dayEventsList.size(); i++){
				//System.out.println("NEW DAY EVENT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
				DayEvents dayEvents = _dayEventsList.get(i);
				
				ArrayList<double[]> eventRateStatsList = dayEvents.getEventRateStatsList();
				ArrayList<double[]> ijStatsList = dayEvents.get_ijRateStats();
				double timePeriod = dayEvents.get_timePeriod();
				
				if( ijStatsList == null ) {
					continue;
				}
				
				int ijDyadsWithNoEdges = possiblePermutations - dayEvents.get_ijRateStats().size();
				
				//write event rate stats to file
				for(double[] rateStats: eventRateStatsList){
					eventWriter.write(timePeriod + "\t");
					for(int j=0; j<rateStats.length; j++){
						eventWriter.write(rateStats[j] + "\t");
					}
					eventWriter.newLine();
				}
				
				//write ij stats to file
				//TODO: fix 0 buffering here
				//BADBADBADBAD
				ijWriter.write(timePeriod + "\t" + ijDyadsWithNoEdges + "\t");
				ijWriter.write("\t\t\t\t\t\t");
				ijWriter.newLine();
				for(double[] ijStats: ijStatsList){
					ijWriter.write(timePeriod + "\t");
					for(int j=0; j<ijStats.length; j++){
						ijWriter.write(ijStats[j] + "\t");
					}
					ijWriter.newLine();
				}
				
				
				//finalEventRateStatsList.addAll(addMetaDataToStats(dayEvents.getEventRateStatsList(), new double[]{dayEvents.getEventRateStatsList().size()}));
				//final_ijStats.addAll(addMetaDataToStats(dayEvents.get_ijRateStats(), new double[]{dayEvents.get_ijRateStats().size(), ijDyadsWithNoEdges}));
				finalEventRateStatsList.addAll(dayEvents.getEventRateStatsList());
				final_ijStats.addAll(dayEvents.get_ijRateStats());
				
				//System.out.println("ijStats.size: " + dayEvents.get_ijRateStats().size());
				//System.out.println("ijDyadsWithNoEdges: " + ijDyadsWithNoEdges);
				//System.out.println("dayEvents.get_ijDyadsWithNoEdges(): " + dayEvents.get_ijDyadsWithNoEdges());
				//final_ijDyadsWithNoEdges = final_ijDyadsWithNoEdges + dayEvents.get_ijDyadsWithNoEdges();
				final_ijDyadsWithNoEdges = final_ijDyadsWithNoEdges + ijDyadsWithNoEdges;
			
			}
			
			eventWriter.flush();
			eventWriter.close();
			ijWriter.flush();
			ijWriter.close();
		
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		System.out.println("final_ijDyadsWithNoEdges: " + final_ijDyadsWithNoEdges);
		System.out.println("finalEventRateStatsList.size: " + finalEventRateStatsList.size());
		System.out.println("final_ijStats.size: " + final_ijStats.size());
		
        //persistData(final_ijDyadsWithNoEdges, finalEventRateStatsList, final_ijStats); //debug
	}