@Override public void saveState(IMemento memento) { for (Iterator<Entry<IPageBookViewPage, DummyPart>> iter = fPagesToParts.entrySet().iterator(); iter.hasNext(); ) { Entry<IPageBookViewPage, DummyPart> entry = iter.next(); ISearchResultPage page = (ISearchResultPage) entry.getKey(); DummyPart part = entry.getValue(); IMemento child = memento.createChild(MEMENTO_TYPE, page.getID()); page.saveState(child); child.putInteger(MEMENTO_KEY_LAST_ACTIVATION, part.getLastActivation()); } }