Question: ```
private List<? extends BaseModelBO> overAllItems = new ArrayList<>();

```

**I am trying to add another list of same type to it.**

```
List<? extends BaseModelBO> newList = getResponseList(webServiceResponse.getResponse());

if (newList != null && newList.size() > 0)               
    overAllItems.addAll(newList);

```

Also tried `List<AnyClassWhichExtendsBaseModelBO>` to it..

like 

```
List<ContactBO> contactList = getContacts(); //where ContactBO extends BaseModelBO

overAllItems.addAll(contactList);

```

*Error LOG*

```
addAll in List cannot be applied to java.util.List<capture<? extends BaseModelBO>>

```

**See error Image**

[![enter image description here](https://i.stack.imgur.com/5UunG.png)](https://i.stack.imgur.com/5UunG.png)

Answer: 
This is caused by the compiler doesn't know the correct type of `? extends BaseModelBO`, so when `addAll` the compiler will not know what's type should be applied in there, and throw this **compile error**. so you can do it like:

```
private List<BaseModelBO> overAllItems = new ArrayList<>();

```
Change type of `newList` to:

```
List newList = getResponseList(webServiceResponse.getResponse());

```

Now compiler gives warning that List is a raw type, but no error.