code: @Test public void should_mark_dirty_on_remove_existing() throws Exception {
    Map<Integer,String> target=prepareMap();
    MapWrapper wrapper=prepareMapWrapper(target);
    when(proxifier.removeProxy(1)).thenReturn(1);
    wrapper.remove(1);
    DirtyChecker dirtyChecker=dirtyMap.get(setter);
    assertThat(dirtyChecker.getPropertyMeta()).isEqualTo(propertyMeta);
    DirtyCheckChangeSet changeSet=dirtyChecker.getChangeSets().get(0);
    assertThat(changeSet.getChangeType()).isEqualTo(REMOVE_FROM_MAP);
    assertThat(changeSet.getPropertyMeta()).isEqualTo(propertyMeta);
    assertThat(changeSet.getRawMapChanges()).hasSize(1).contains(entry(1,null));
  }
  