addTimer.setStart();
edgeQueue.addAll( visitedNodes, startNode, startNode.getFromEdges(visibleOnly), distance, useActualEdgeLengths );
edgeQueue.addAll( visitedNodes, startNode, startNode.getToEdges(visibleOnly), distance, useActualEdgeLengths );
addTimer.setEnd();
EdgeNodeAndValue enav;
float newDistance = 0;
Float previousDistance = 0.0f;
while( !edgeQueue.isEmpty() )
{
enav = edgeQueue.pop();
visitedNodes = enav.getPath();
previousDistance = visitedNodes.get( enav.getNode().getId() );
if( previousDistance == null )
{
visitedNodes.put( enav.getNode().getId(), enav.getValue() );
newDistance = findShortestPathDistance( edgeQueue, visitedNodes, enav.getValue(), bestDistance, enav.getOtherNode(), goalNode,
useActualEdgeLengths, visibleOnly );
if( newDistance < bestDistance )
{
bestDistance = newDistance;
}