public Vector3 GetPointAtDistanceWithOvershoot(float d, Node start, Stretch nextStretch, ref bool overShoot)
    {
        float t = 0;

        if (start == anchorA)
        {
            t = d / Length;

            if (t > 1)
            {
                overShoot = true;
                return(nextStretch.GetPointAtDistance(t - 1, this.GetOpossiteNode(start)));
            }
        }
        else if (start == anchorB)
        {
            t = 1 - (d / Length);

            if (t < 0)
            {
                overShoot = true;
                return(nextStretch.GetPointAtDistance(-t, GetOpossiteNode(start)));
            }
        }
        overShoot = false;
        return(GetPoint(t));
    }