I am trying to implement a bi-directional graph search. As I understand, I should somehow merge two breadth-first searches, one which starts at the starting (or root) node and one which starts at the goal (or end) node. The bi-directional search terminates when both breadth-first searches "meet" at the same vertex.
Could you provide me with a code example (in Java, if possible) or link with code for the bidirectional graph search?

Assuming you have
Nodes like this (in the fileNode.java):Then the bidirectional search algorithm (defined in the file
BidirectionalSearch.java) would look something like this: