private IndexedHashtable mergeNotesAndDischargeSummaries(IndexedHashtable tNotes, IndexedHashtable tSummaries)
{
if (tNotes == null)
{
return tSummaries;
}
if (tSummaries == null)
{
return tNotes;
}
IndexedHashtable result = new IndexedHashtable(tNotes.Count + tSummaries.Count);
for (int i = 0; i < tNotes.Count; i++)
{
Note[] notes = (Note[])tNotes.GetValue(i);
int notesLength = (notes == null ? 0 : notes.Length);
string key = (string)tNotes.GetKey(i);
Note[] summaries = (Note[])tSummaries.GetValue(key);
int summariesLength = (summaries == null ? 0 : summaries.Length);
ArrayList lst = new ArrayList(notesLength + summariesLength);
for (int j = 0; j < notesLength; j++)
{
lst.Add(notes[j]);
}
for (int j = 0; j < summariesLength; j++)
{
lst.Add(summaries[j]);
}
result.Add(key, (Note[])lst.ToArray(typeof(Note)));
}
return result;
}