Not using discoverNode here might cause problems. Say node F is known but there is only one link to it (via E) and we receive a message which took path   F->X->A, we are aware of A->X but not X->F and we will not ever learn of it if this is called.