private static void runExperiments(List<PathFinder> finders, List<Integer> lengths, List<Double> confidences){
		System.out.print("Will try: ");
		for (PathFinder finder : finders)
			System.out.print(finder.getClass().getName() + " ");
		System.out.print(", For lengths: ");
		for (Integer length : lengths)
			System.out.print("" + length + " ");
		System.out.print(", For confidences: ");
		for (Double confidence : confidences)
			System.out.print("" + confidence + " ");
		System.out.println();
		System.out.println("======================");
		System.out.println();
		
		PathResult result;
		for (PathFinder finder : finders){
			System.out.println(finder.getClass().getName());
			for (Integer length : lengths){
				for (Double confidence : confidences){
					System.out.print("(" + length + ", " + confidence + "): ");
					result = finder.run(length, confidence);
					System.out.println(result.iterationsCount + " iterations, " + result.runtime + " milliseconds");
					System.out.println("" + result.paths.size() + "pathways");
					IterationResult iteration = null;
					while ((iteration = result.paths.poll()) != null){
						for (Integer node : iteration.path)
							System.out.print(proteins.get(node) + " ");
						System.out.println(iteration.distance);
					}
					System.out.println();
				}
			}
		}
	}