@Override
    public View getGroupView(
        int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
      ViewGroup item;

      if (convertView != null && convertView.getId() == R.id.group_item) {
        // We can reuse the View
        item = (ViewGroup) convertView;
      } else {
        // We create a new View
        item = (ViewGroup) inflater.inflate(R.layout.group_item_layout, parent, false);
      }

      GroupClass group = (GroupClass) getGroup(groupPosition);

      TextView nameView = (TextView) item.findViewById(R.id.group_name);
      nameView.setText(group.getName());

      TextView sizeView = (TextView) item.findViewById(R.id.group_size);
      sizeView.setText("" + group.getChildren().size());

      return item;
    }