private void printDAG(){
		System.out.println("=== Input data: ===");
		for(DataItem d:originalDataItems){
			System.out.println("=> Name:" + d.getName()+" (Id:"+d.getId()+") ,  size: " + d.getSize());
		}
		
		System.out.println("=== Entry tasks: ===");
		for(Task t:entryTasks){
			System.out.println("=> Id:" + t.getId());
		}
		
		System.out.println("=== Exit tasks: ===");
		for(Task t:exitTasks){
			System.out.println("=> Id:" + t.getId());
		}
		
		System.out.println("===================");
		System.out.println("");
		System.out.println("");
		
		for(Task t:tasks){
			System.out.println("*******************");
			System.out.println("Task Id:" + t.getId());
			
			System.out.print("Task parents:");
			for(Task p:t.getParents()){
				System.out.print(p.getId()+" ");
			}
			System.out.println("");
			
			System.out.print("Task children:");
			for(Task p:t.getChildren()){
				System.out.print(p.getId()+" ");
			}
			System.out.println("");
			
			System.out.print("Task input data:");
			for(DataItem p:t.getDataDependencies()){
				System.out.print(p.getId()+" ");
			}
			System.out.println("");
			
			System.out.print("Task output data:");
			for(DataItem p:t.getOutput()){
				System.out.print(p.getId()+" ");
			}
			System.out.println("");
		}
		
		for (DataItem d:dataItems.values()){
			System.out.println("-------------------");
			System.out.println("Data name:" + d.getName());
			System.out.println("Data id:" + d.getId());
			System.out.println("Data size:" + d.getSize());
		}
	}