In the program, a class Car and its subclass Truck are defined. Write a method public static int totalLoad(ArrayList cars) that receives a list of Truck objects as a parameter. The method calculates and returns the total load of the trucks. Note that the list type is Car, not Truck! import java.util.Random; import java.util.ArrayList; public class Test{ public static void main(String[] args){ final Random r = new Random(); String[] brands = "Sisu Scania Volvo Ford Fiat Citroen".split(" "); for(int test=1; test<=3; test++) { System.out.println("Test " + test); ArrayList cars = new ArrayList<>(); final int size = r.nextInt(4) + 3; for (int i=0; i System.out.println("" + a)); System.out.println("Total load: " + totalLoad(cars)); System.out.println(""); } } //add // round 1 - NO // public static int totalLoad(ArrayList cars) { // int totalLoad = 0; // for (Truck truck : cars) { // totalLoad += truck.getLoad(); // } // return totalLoad; // } // round 2 - YES public static int totalLoad(ArrayList cars) { int totalLoad = 0; for (Car car : cars) { // explicit type casting Truck truck = (Truck) car; totalLoad += truck.getLoad(); } return totalLoad; } } class Car { protected String brand; public Car(String brand) { this.brand = brand; } public String getBrand() { return brand; } } class Truck extends Car { private int load; public Truck(String brand, int load) { super(brand); this.load = load; } public int getLoad() { return load; } public String toString() { return brand + ", load: " + load; } } Test 1 Cars: Sisu, load: 5 Volvo, load: 24 Sisu, load: 23 Total load: 52 Test 2 Cars: Fiat, load: 9 Fiat, load: 10 Scania, load: 13 Ford, load: 16 Total load: 48 Test 3 Cars: Volvo, load: 18 Ford, load: 22 Scania, load: 20 Sisu, load: 20 Volvo, load: 7 Sisu, load: 21 Total load: 108