def alterWiddershinsSupportedPathByPoint(alongAway, overhangWiddershinsLeft, overhangWiddershinsRight, point):
 if alongAway.getIsWiddershinsPointSupported(point):
  return
 overhangWiddershins = overhangWiddershinsLeft
 if (overhangWiddershinsRight.getDistance() < overhangWiddershinsLeft.getDistance()):
  overhangWiddershins = overhangWiddershinsRight
 overhangWiddershins.alterLoop()

def alterWiddershinsSupportedPathByPoint ( alongAway , overhangWiddershinsLeft , overhangWiddershinsRight , point ) : if alongAway . getIsWiddershinsPointSupported ( point ) : return overhangWiddershins = overhangWiddershinsLeft if ( overhangWiddershinsRight . getDistance ( ) < overhangWiddershinsLeft . getDistance ( ) ) : overhangWiddershins = overhangWiddershinsRight overhangWiddershins . alterLoop ( )
get widdershins path with overhangs filled in for point .