public CurrentPage setCurrentDocumentAndKeyAndOffset( Book currentBook, Key key, float yOffsetRatio) { PassageChangeMediator.getInstance().onBeforeCurrentPageChanged(); CurrentPage nextPage = getBookPage(currentBook); if (nextPage != null) { try { nextPage.setInhibitChangeNotifications(true); nextPage.setCurrentDocument(currentBook); nextPage.setKey(key); nextPage.setCurrentYOffsetRatio(yOffsetRatio); currentDisplayedPage = nextPage; } finally { nextPage.setInhibitChangeNotifications(false); } } // valid key has been set so do not need to show a key chooser therefore just update main view PassageChangeMediator.getInstance().onCurrentPageChanged(); return nextPage; }