private List<DataSet> getDataSetsForCurrentUser(int id) {
    OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit(id);

    if (organisationUnit == null) {
      return new ArrayList<DataSet>();
    }

    List<DataSet> dataSets = new ArrayList<DataSet>();

    if (organisationUnit.getDataSets() != null) {
      dataSets.addAll(organisationUnit.getDataSets());
    }

    UserCredentials userCredentials = currentUserService.getCurrentUser().getUserCredentials();

    if (!userCredentials.isSuper()) {
      dataSets.retainAll(userCredentials.getAllDataSets());
    }

    return dataSets;
  }