* @return the Modification for the specified key, or <code>CLEAR</code> if the state was
* cleared, or <code>null</code> if the key is not in the state map
*/
Modification get(Object key) {
for (State state = this; state != null; state = state.next) {
Modification mod = state.modifications.get(key);
if (mod != null)
return mod;
else if (state.clear)
return CLEAR;
}