public void updateTarget(Target moveTarget) {
    final Target oldTarget = trueTarget ;
    this.trueTarget = moveTarget ;
    if (trueTarget != oldTarget) {
      if (verbose) I.sayAbout(mobile, "...TARGET HAS CHANGED: "+trueTarget) ;
      path = null ; stepIndex = -1 ; return ;
    }
    else if (inLocus(nextStep())) {
      stepIndex = Visit.clamp(stepIndex + 1, path.length) ;
    }
    else if (verbose) I.sayAbout(mobile, "Not in locus of: "+nextStep()) ;
  }