public ArrayList GetSortedEntries() {
Hashtable grouped = new Hashtable();
for (int i = 0; i < indexentry.Count; i++) {
Entry e = (Entry) indexentry[i];
String key = e.GetKey();
Entry master = (Entry) grouped[key];
if (master != null) {
master.AddPageNumberAndTag(e.GetPageNumber(), e.GetTag());
} else {
e.AddPageNumberAndTag(e.GetPageNumber(), e.GetTag());
grouped[key] = e;
}
}
// copy to a list and sort it
ArrayList sorted = new ArrayList(grouped.Values);
sorted.Sort(0, sorted.Count, comparator);
return sorted;
}