There is a method that installs an adapter and writes a dataset to it. There are 4 types of data extending SuperClass. In order to initialize the adapter, I use 4 methods (1 for each data set):
setTypeDogAsAdapter(); setTypeCatAsAdapter(); ... etc.
setTypeDogAsAdapter(){ final ArrayList<Dog> dogs = new ArrayList<>(); petAdapter = new PetListAdapter(this, groups); petAdapter .notifyDataSetChanged(); for (Dog dog: petService.getPetItemListHolder().getItems()) { dogs .add(dog); } ... } And so 4 times.
I want to do something like
setPetsAdapter(Dog); setPetsAdapter(Cat); etc.
final ArrayList<<? extends Pet>> dogs = new ArrayList<>(); petAdapter = new PetListAdapter(this, groups); petAdapter .notifyDataSetChanged(); for (... ... : petService.getPetItemListHolder().getItems()) { ... .add(...); }