private int fireSession(BattleshipsPlayer attacker, BattleshipsPlayer defender, BoardImpl board) {
   int maxShots = sizeX * sizeY;
   int shots = 0;
   while (board.getNumberOfShips() > 0 && shots < maxShots) {
     Position pos = attacker.getFireCoordinates(board);
     boolean hit = board.fire(pos);
     attacker.hitFeedBack(hit, board);
     defender.incoming(pos);
     ++shots;
   }
   return maxShots - shots;
 }