public class LadderVehicleCounter extends VehicleCounter { public void count(Vehicle[] vehicles) { for (Vehicle vehicle: vehicles) { if (vehicle instanceof Car) ++numCars; else if (vehicle instanceof Bike) ++numBikes; else if (vehicle instanceof Motorbike) ++numMotorbikes; else throw new IllegalArgumentException("unknown type of vehicle: " + vehicle); } } }