code: @Override
    public void onMilestoneTrigger(List<Milestone> triggeredMilestones, RouteProgress routeProgress) {
      for (Milestone milestone : triggeredMilestones) {
        String instruction = buildInstructionString(routeProgress, milestone);
        eventDispatcher.onMilestoneEvent(routeProgress, instruction, milestone);
      }
    }
docs: With each valid and successful rawLocation update, this will get called once the work on the
  navigation engine thread has finished. Depending on whether or not a milestone gets triggered
  or not, the navigation event dispatcher will be called to notify the developer.