private Location findFarthestLocation(Location location,Direction direction){
  Location farthest;
  do {
    farthest=location;
    location=farthest.offset(direction);
  }
 while (gridOperator.isValidLocation(location) && gameGrid.get(location) == null);
  return farthest;
}

private Location findFarthestLocation ( Location location , Direction direction ) { Location farthest ; do { farthest = location ; location = farthest . offset ( direction ) ; } while ( gridOperator . isValidLocation ( location ) && gameGrid . get ( location ) == null ) ; return farthest ; }
searchs for the farthest empty location where the current tile could go
