public void bfs(String label, Function<Vertex, Vertex> action) {

		int index = getVertexIndex(label);

		if (vertices[index].wasVisited() == false) {
			vertices[index].setVisited(true);

			action.apply(vertices[index]);
		}

		for (int cols = 0; cols < COLS; cols++) {

			if (graph[index][cols] == 1 && vertices[cols].wasVisited() == false) {
				vertices[cols].setVisited(true);
				queueOfNodes.add(vertices[cols]);
				action.apply(vertices[cols]);
				// System.out.println("Enqueue: " + vertices[cols].getLabel());
			}// end of if

		}// end of for loop

		Vertex temp = queueOfNodes.poll();

		if (temp != null) {
			// System.out.println("Dequeue: " + temp.getLabel());
			bfs(temp.getLabel(), action);
		}
	}