your ArrayList CacheHashTablesForwardsArraySorted is NOT sorted:
1) the Keys property of a hashtable returns an ICollection containing all the keys, but
MSDN clearly states "The order of the keys in the ICollection is unspecified"
2) giving it a name ending on "Sorted" doesnt do it either.
So you must explicitly sort your ArrayList.
Afterwards, you can enumerate the sorted list, and use the hashtable to look up the
The alternative is to use a SortedList instead of a HashTable; that one does it all.