@@ -0,0 +1,1967 @@
+package com.mikepenz.fastadapter.commons.items;%0A%0Aimport android.support.v7.widget.RecyclerView;%0A%0Aimport com.mikepenz.fastadapter.IExpandable;%0Aimport com.mikepenz.fastadapter.IItem;%0Aimport com.mikepenz.fastadapter.ISubItem;%0Aimport com.mikepenz.fastadapter.items.GenericAbstractItem;%0A%0Aimport java.util.List;%0A%0Apublic abstract class GenericAbstractExpandableItem%3CModel, Parent extends GenericAbstractItem%3CModel, Parent, VH%3E & IExpandable & ISubItem, VH extends RecyclerView.ViewHolder, SubItem extends IItem & ISubItem%3E extends GenericAbstractItem%3CModel, Parent, VH%3E implements IExpandable%3CGenericAbstractExpandableItem, SubItem%3E, ISubItem%3CGenericAbstractExpandableItem, Parent%3E %7B%0A%0A    private List%3CSubItem%3E mSubItems;%0A    private Parent mParent;%0A    private boolean mExpanded = false;%0A%0A    public GenericAbstractExpandableItem(Model model) %7B%0A        super(model);%0A    %7D%0A%0A    @Override%0A    public boolean isExpanded() %7B%0A        return mExpanded;%0A    %7D%0A%0A    @Override%0A    public GenericAbstractExpandableItem%3CModel, Parent, VH, SubItem%3E withIsExpanded(boolean expanded) %7B%0A        mExpanded = expanded;%0A        return this;%0A    %7D%0A%0A    @Override%0A    public List%3CSubItem%3E getSubItems() %7B%0A        return mSubItems;%0A    %7D%0A%0A    @Override%0A    public boolean isAutoExpanding() %7B%0A        return true;%0A    %7D%0A%0A    @Override%0A    public GenericAbstractExpandableItem%3CModel, Parent, VH, SubItem%3E withSubItems(List%3CSubItem%3E subItems) %7B%0A        this.mSubItems = subItems;%0A        for (SubItem subItem : subItems) %7B%0A            subItem.withParent(this);%0A        %7D%0A        return this;%0A    %7D%0A%0A    @Override%0A    public Parent getParent() %7B%0A        return mParent;%0A    %7D%0A%0A    @Override%0A    public GenericAbstractExpandableItem%3CModel, Parent, VH, SubItem%3E withParent(Parent parent) %7B%0A        this.mParent = parent;%0A        return this;%0A    %7D%0A%0A    @Override%0A    public boolean isSelectable() %7B%0A        //this might not be true for your application%0A        return getSubItems() == null;%0A    %7D%0A%7D%0A

add GenericAbstractExpandableItem