@Override
 public void updateHistory(PlaceRequest request, boolean updateBrowserUrl) {
   try {
     // Make sure the request match
     assert request.hasSameNameToken(getCurrentPlaceRequest())
         : "Internal error, PlaceRequest passed to updateHistory doesn't match the tail of the place hierarchy.";
     placeHierarchy.set(placeHierarchy.size() - 1, request);
     if (updateBrowserUrl) {
       String historyToken = tokenFormatter.toHistoryToken(placeHierarchy);
       String browserHistoryToken = getBrowserHistoryToken();
       if (browserHistoryToken == null || !browserHistoryToken.equals(historyToken)) {
         setBrowserHistoryToken(historyToken, false);
       }
       saveHistoryToken(historyToken);
     }
   } catch (TokenFormatException e) {
     // Do nothing.
   }
 }