Please solve the programming task below using a self-contained code snippet in a markdown code block.

You are given a 2D array of axis-aligned rectangles. Each rectangle[i] = [xi1, yi1, xi2, yi2] denotes the ith rectangle where (xi1, yi1) are the coordinates of the bottom-left corner, and (xi2, yi2) are the coordinates of the top-right corner.
Calculate the total area covered by all rectangles in the plane. Any area covered by two or more rectangles should only be counted once.
Return the total area. Since the answer may be too large, return it modulo 109 + 7.
 
Please complete the following python code precisely:
```python
class Solution:
    def rectangleArea(self, rectangles: List[List[int]]) -> int:
```