UE5 crashing when waypoint location is out of navmesh (stack overflow), how to prevent?

Here is code:

void AAI_Customer::MoveToWaypoints()
{
	AAI_CustomerController* AI_CustomerController = Cast<AAI_CustomerController>(GetController());
	if (AI_CustomerController) {
		if (CurrentWaypoint <= Waypoints.Num()) {
			for (AActor* Waypoint : Waypoints)
			{
				AWaypoint* WaypointItr = Cast<AWaypoint>(Waypoint);
				if (WaypointItr)
				{
					if (WaypointItr->GetWaypointOrder() == CurrentWaypoint) {
						AI_CustomerController->MoveToActor(WaypointItr, 20.f, false);
						CurrentWaypoint++;
						break;
					}
				}
			}
		}
	}
}

I think i must write here something to check is point accessible or not.
Here is exception:

Unhandled Exception: EXCEPTION_STACK_OVERFLOW

UnrealEditor_Navmesh
UnrealEditor_NavigationSystem
UnrealEditor_NavigationSystem
UnrealEditor_NavigationSystem
UnrealEditor_NavigationSystem
UnrealEditor_AIModule
UnrealEditor_AIModule
UnrealEditor_AIModule

Ok i think i know where is problem, i overwrite function OnMoveCompleted, for recursion, but there is CurrentWaypoint++, so after move is OnMoveCompleted what is calling MoveToWaypoints again, but there is still previous MoveToWaypoints what is waiting for OnMoveCompleted function to increase CurrentWaypoint after it. So i just move CurrentWaypoint++ in place before MoveToActor function and now it’s ok.