Figure 2: Implementation for the Collection interfaces