unsigned int GetChildren(wxDataViewItemArray &out) const override {
		out.reserve(categories.size());
		for (auto const& category : categories)
			out.push_back(wxDataViewItem((void*)&category));
		return out.size();
	}
	unsigned int GetChildren(wxDataViewItemArray &out) const {
		out.reserve(categories.size());
		for (std::list<HotkeyModelCategory>::const_iterator it = categories.begin(); it != categories.end(); ++it)
			out.push_back(wxDataViewItem((void*)&*it));
		return out.size();
	}