docs: private boolean loopShortcutNecessary(int node, int firstOrigEdge, int lastOrigEdge, double loopWeight) {
          EdgeIterator inIter = loopAvoidanceInEdgeExplorer.setBaseNode(node);
          while (inIter.next()) {
              EdgeIterator outIter = loopAvoidanceOutEdgeExplorer.setBaseNode(node);
              double inTurnCost = getTurnCost(inIter.getEdge(), node, firstOrigEdge);
              while (outIter.next()) {
                  double totalLoopCost = inTurnCost + loopWeight +
                          getTurnCost(lastOrigEdge, node, outIter.getEdge());
                  double directTurnCost = getTurnCost(inIter.getEdge(), node, outIter.getEdge());
                  if (totalLoopCost < directTurnCost) {
                      return true;
                  }
              }
          }
          LOGGER.trace("Loop avoidance -> no shortcut");
          return false;
      }