private Grid generateGrid() {
    final Grid orgUnitGrid = new ListGrid().setTitle("Organisation unit search result");

    orgUnitGrid.addHeader(new GridHeader("Code", false, true));
    orgUnitGrid.addHeader(new GridHeader("Name", false, true));

    for (OrganisationUnitGroupSet groupSet : groupSets) {
      orgUnitGrid.addHeader(new GridHeader(groupSet.getName(), false, true));
    }

    for (OrganisationUnit unit : organisationUnits) {
      orgUnitGrid.addRow();

      orgUnitGrid.addValue(unit.getCode());
      orgUnitGrid.addValue(unit.getName());

      for (OrganisationUnitGroupSet groupSet : groupSets) {
        orgUnitGrid.addValue(unit.getGroupNameInGroupSet(groupSet));
      }
    }

    return orgUnitGrid;
  }