} else {     cleanPageReplacementCacheIfNecessary();
  public WOComponent restorePageForContextID(String contextID) {    //System.out.println("ERXSession.restorePageForContextID: " + contextID + " restoring page");    LinkedHashMap pageReplacementCache = (LinkedHashMap) objectForKey(ERXSession.PAGE_REPLACEMENT_CACHE_KEY);    WOComponent page = null;    if (pageReplacementCache != null) {      TransactionRecord pageRecord = (TransactionRecord) pageReplacementCache.get(contextID);      //System.out.println("ERXSession.restorePageForContextID: " + contextID + " pageRecord = " + pageRecord);      if (pageRecord != null) {        page = pageRecord.page();      }    }    if (page == null) {      page = super.restorePageForContextID(contextID);    }    if (page != null) {      WOContext context = page.context();      WORequest request = context.request();      // MS: I suspect we don't have to do this all the time, but I don't know if we have       // enough information at this point to know whether to do it or not, unfortunately.      if (request != null) {        request.setHeader(contextID, ERXSession.ORIGINAL_CONTEXT_ID_KEY);      }    }    return page;  }