@Override
  public void openCard(boolean addContent) {
    cachingService.putCachedObject(
        StorySummary.class,
        CachedObjectKeys.OPENED_STORY,
        editedStorySummary == null ? storySummary : editedStorySummary);

    PlaceRequest place = getStoryDetailsPlaceRequestBuilder(addContent, true).build();
    placeManager.revealRelativePlace(place);
  }
  @Override
  protected void onReveal() {
    super.onReveal();

    PlaceRequest currentPlaceRequest = placeManager.getCurrentPlaceRequest();
    if (!hasBeenRevealed
        && NameTokens.ServerGroupMgmtPresenter.equals(currentPlaceRequest.getNameToken())) {
      hasBeenRevealed = true;

      // update LHS
      serverGroupStore.loadServerGroups(
          new SimpleCallback<List<ServerGroupRecord>>() {
            @Override
            public void onSuccess(List<ServerGroupRecord> result) {
              getView().updateServerGroups(result);
            }
          });

      // forward default to ServerGroupPresenter, this presenter doesn't have a default view
      placeManager.revealRelativePlace(new PlaceRequest(NameTokens.ServerGroupPresenter));
    }
  }