private PrintWriter checkFloatingCar(Vehicle vehicle) { PrintWriter printWriter = printWriters.get(vehicle); if (printWriter != null) { return printWriter; } final int vehNumber = vehicle.getVehNumber(); if (floatingCarVehicleNumbers.contains(vehNumber) || selectRandomPercentage(vehicle)) { floatingCarVehicleNumbers.remove(vehNumber); final PrintWriter writer = fileFloatingCars.createWriter(vehicle, route); FileFloatingCars.writeHeader(writer, vehicle, route); writer.flush(); printWriters.put(vehicle, writer); return writer; } return null; }