question: 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 ; }
target:  Searchs for the farthest empty location where the current tile could go