Updated ShortestPath - fixes the NullPointerException; also, if source=destination, then it was adding that same tile twice in the shortest path, now fixed.