Using the picture, use Java to design and implement the class PascalTriangle that will generate a Pascal Triangle from a given number of rows. Represent each row in a triangle as a list and the entire triangle as a list of these lists, implement the class ArrayList for these lists.
Extracted text: As seen in this Pascal's Triangle: 1 1 1 1 2 1 1 3 1 4 6. 4 Each row begins and ends with 1. Each interior entry is the sum of the two entries above it. For example, in the last row given here, 4 is the sum of 1 and 3, 6 is the sum of 3 and 3, and 4 is the sum of 3 and 1. If we number both the rows and the entries in each row beginning with 0, the entry in position k of row n is often denoted as C(n, k). For example, the 6 in the last row is C(4, 2). Given n items, C(n, k) turns out to be the number of ways that you can select k of the n items. Thus, C(4, 2), which is 6, is the number of ways that you can select two of four given items. So if A, B, C, and D are the four items, here are the six possible choices: А В, А С, А D, B С, B D, CD Note that the order of the items in each pair is irrelevant. For instance, the choice AB is the same as the choice B A.