Vista de lista expandible con elementos secundarios en la raíz

Estoy tratando de hacer una vista de lista con la siguiente estructura:

Listview
    -> child
    -> child
    -> group
           -> child
           -> child
    -> child

¿Cómo haría para lograr esto?

¿Tengo que hacer que un grupo actúe como un niño o es posible hacerlo correctamente de esta manera?

Tengo un objeto MenuRow

public class MenuRow {
public String title;

public MenuRow(String title) {
    this.title = title;
}

}

entonces tengo el MenuGroup y MenuChild que extienden MenuRow, esto me permite hacer lo siguiente:

    ArrayList<MenuRow> menu = new ArrayList<MenuRow>();
    menu.add(new MenuChild("row 1"));
    menu.add(new MenuChild("row 2"));
    MenuGroup group = new MenuGroup("group");
    MenuChild groupChild = new MenuChild("group child");
    group.items.add(groupChild);
    menu.add(group);

Parece que no puedo entender cómo debo ocuparme de mi negocio en el adaptador.

@Override
    public Object getChild(int groupPosition, int childPosition) {
        MenuRow row = menu.get(groupPosition);
        if (row instanceof MenuGroup) {
            ArrayList<MenuChild> chList = ((MenuGroup) row).getItems();
        }
        else{
                return null;
        }

        return chList;
    }

Este método, por ejemplo, no está realmente adaptado a mi solución. ¿Cómo debo tratar de lograr mi objetivo? ¿Necesito usar un adaptador diferente? (mi actual extender BaseExpandableListAdapter)

Respuestas a la pregunta(1)

Su respuesta a la pregunta