"newNodes = newNodes.uniq {|n| n.currentNode} #should not be necessairy"

NOPE. IT REALLLLLY F****** WASN'T.

Solved the bug with the paths being out of reach in some rare cases.
turns out I was unnecessarily calling unique when a path is being built
from the same node. did some general refactoring as well with it which
solved the problem.