private void setupUserMenu(SocialUser userOnPage) {
   String userName =
       (userOnPage != null
               && userOnPage.getRealName() != null
               && !userOnPage.getRealName().isEmpty())
           ? userOnPage.getRealName()
           : userOnPage.getUserName();
   view.setupUserInfo(userName, setupSideUserInfoPresenter(userOnPage));
   final String title = userName + "'s Profile";
   changeTitleWidgetEvent.fire(new ChangeTitleWidgetEvent(this.place, title));
 }
  private Button generateActionLink(final SocialUser socialUser) {
    Button followUnfollow = GWT.create(Button.class);

    if (socialUser.getUserName().equalsIgnoreCase(loggedUser.getIdentifier())) {
      createLoggedUserActionLink(socialUser, followUnfollow);
    } else {
      createAnotherUserActionLink(socialUser, followUnfollow);
    }
    return followUnfollow;
  }
 void unfollowUser(final SocialUser socialUser) {
   socialUserService
       .call(
           new RemoteCallback<Object>() {
             @Override
             public void callback(Object o) {
               refreshCacheAndGeneratesSelectEvent(socialUser.getUserName());
             }
           })
       .userUnfollowAnotherUser(loggedUser.getIdentifier(), socialUser.getUserName());
 }
 private boolean loggedUserFollowSelectedUser(SocialUser socialUser) {
   return socialUser.getFollowersName().contains(loggedUser.getIdentifier());
 }
 private void setUsers(final List<SocialUser> socialUsers) {
   this.users = new HashMap<String, SocialUser>(socialUsers.size());
   for (final SocialUser user : socialUsers) {
     users.put(user.getUserName(), user);
   }
 }