Implementation of the bidirectional graph search
<p>I am trying to implement a <a href="https://en.wikipedia.org/wiki/Bidirectional_search" rel="noreferrer">bi-directional graph search</a>. 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.</p>

<p>Could you provide me with a code example (in Java, if possible) or link with code for the bidirectional graph search?</p>