void () { try { if (isSharedPage) { isSharedPage = false; return; } //RC: in theory, we should dispose only cached pages, because !cached are already release()-ed // in .releasePage(). But there are .disposePage() calls without previous releasePage(): i.e. // in .setAddress() -- hence we always release page if it is !null -- i.e. if there is page to // release: if (page != null && keepPageAcquiredUntilDispose) { page.release(); } } finally { page = null; } }