question: public Map push ( String id ) { if ( order . contains ( id ) ) throw new RuntimeException ( id + " already present" ) ; if ( ! order . isEmpty ( ) && id . equals ( order . peek ( ) ) ) return ( Map ) id2map . get ( id ) ; Map result = ( Map ) id2map . get ( id ) ; if ( result == null ) { result = new HashMap ( ) ; id2map . put ( id , result ) ; } order . push ( id ) ; return result ; }
target:  Move to a different ID (meaning add a new named map to proxy which can be calved off if necessary).