Problem is detected inside PrototypeMap: we can't use OpenMap, we must use HashMap, because OpenMap returns entrySet with invalid behaviour.
Inside PrototypeMap:
our RemoveIterator iterates over set of entries, but changes maps.
It should work, if Entry objects stored inside "aggregate set" have correct behaviour.
Unfortunatelly, entries returned by OpenMap are broken after changing map
Inside AOpenMap:
PEntry stores only "int index" pointing to hashtable, which means this entry will break after ANY modification of hash table
PEntry is smart and fast VIEW, but it can be used if we add/remove something from map.
Problem is detected inside PrototypeMap: we can't use OpenMap, we must use HashMap, because OpenMap returns entrySet with invalid behaviour.
Inside PrototypeMap:
our RemoveIterator iterates over set of entries, but changes maps.
It should work, if Entry objects stored inside "aggregate set" have correct behaviour.
Unfortunatelly, entries returned by OpenMap are broken after changing map
Inside AOpenMap:
PEntry stores only "int index" pointing to hashtable, which means this entry will break after ANY modification of hash table
PEntry is smart and fast VIEW, but it can be used if we add/remove something from map.
Problem is detected inside PrototypeMap: we can't use OpenMap, we must use HashMap, because OpenMap returns entrySet with invalid behaviour.
Inside PrototypeMap: our RemoveIterator iterates over set of entries, but changes maps. It should work, if Entry objects stored inside "aggregate set" have correct behaviour.
Unfortunatelly, entries returned by OpenMap are broken after changing map
Inside AOpenMap: PEntry stores only "int index" pointing to hashtable, which means this entry will break after ANY modification of hash table
PEntry is smart and fast VIEW, but it can be used if we add/remove something from map.