private static boolean checkForChange(Boardable newPath[]) {
    if (lastSuccessPath != null && newPath == null) return true ;
    if (newPath == null || lastSuccessPath == null) return false ;
    //
    //  If the path doesn't connect the same points, ignore it-
    if (Visit.last(newPath) != Visit.last(lastSuccessPath)) return false ;
    if (newPath[0] != lastSuccessPath[0]) return false ;
    //
    //  Otherwise, ensure the contents are identical-
    if (newPath.length != lastSuccessPath.length) return true ;
    for (int i = newPath.length ; i-- > 0 ;) {
      if (newPath[i] != lastSuccessPath[i]) return true ;
    }
    return false ;
  }