private void setUserPickerObjectBasedOnCurrentUser() {
   if ((currentUser != null) && !"".equals(currentUser)) {
     userPickerObject = ComponentAccessor.getUserUtil().getUserByKey(currentUser);
     AvatarService avatarService = ComponentAccessor.getComponent(AvatarService.class);
     setAvatarURL(
         avatarService
             .getAvatarURL(
                 ComponentAccessor.getJiraAuthenticationContext().getUser(),
                 userPickerObject,
                 Avatar.Size.SMALL)
             .toString());
   } else {
     userPickerObject = null;
   }
 }
  private void redirectToExternalAvatar(
      HttpServletResponse response, String ownerId, AvatarManager.ImageSize size)
      throws IOException {
    AvatarService avatarService = ComponentAccessor.getAvatarService();
    if (!getAvatarManager()
        .hasPermissionToView(
            getAuthenticationContext().getUser(), getUserUtil().getUserByKey(ownerId))) {
      response.sendError(HttpServletResponse.SC_NOT_FOUND);
      return;
    }

    ApplicationUser loggedInUser = getAuthenticationContext().getUser();
    URI gravatarURL =
        avatarService.getAvatarURL(
            loggedInUser, getUserUtil().getUserByKey(ownerId), size.getSize());

    response.sendRedirect(gravatarURL.toString());
  }
  @Override
  protected void defaultDoGet(
      HttpServletRequest request,
      HttpServletResponse response,
      String ownerId,
      Long avatarId,
      AvatarManager.ImageSize size)
      throws IOException, ServletException {
    final AvatarService avatarService = ComponentAccessor.getAvatarService();
    final ApplicationUser avatarUser = getUserUtil().getUserByName(ownerId);

    if (avatarService.isUsingExternalAvatar(getAuthenticationContext().getUser(), avatarUser)) {
      redirectToExternalAvatar(response, ownerId, size);
      return;
    }

    super.defaultDoGet(request, response, ownerId, avatarId, size);
  }