question: private void adjustBlockListeners ( List < OBlock > oldRange , List < OBlock > newRange , Tracker tracker ) { Iterator < OBlock > iter = newRange . iterator ( ) ; while ( iter . hasNext ( ) ) { OBlock b = iter . next ( ) ; if ( oldRange . contains ( b ) ) { oldRange . remove ( b ) ; continue ; } addBlockListener ( b , tracker ) ; } iter = oldRange . iterator ( ) ; while ( iter . hasNext ( ) ) { removeBlockListener ( iter . next ( ) , tracker ) ; } }
target:  Do Venn Diagram between the two sets. Keep listeners held in common. Add new listeners. Remove old.