code: private CmsUploadButton createImageUploadButton(
          String label,
          Resource icon,
          CmsUser user,
          I_UploadListener uploadListener) {
  
          CmsUploadButton uploadButton = new CmsUploadButton(
              CmsUserIconHelper.USER_IMAGE_FOLDER + CmsUserIconHelper.TEMP_FOLDER);
          if (label != null) {
              uploadButton.setCaption(label);
          }
          if (icon != null) {
              uploadButton.setIcon(icon);
          }
          uploadButton.getState().setUploadType(UploadType.singlefile);
          uploadButton.getState().setTargetFileNamePrefix(user.getId().toString());
          uploadButton.getState().setDialogTitle(
              CmsVaadinUtils.getMessageText(Messages.GUI_USER_INFO_UPLOAD_IMAGE_DIALOG_TITLE_0));
          uploadButton.addUploadListener(uploadListener);
          return uploadButton;
  
      }
docs: Creates an user image upload button.<p>
  
  @param label the label to use
  @param icon the icon to use
  @param user the user
  @param uploadListener the upload listener
  
  @return the button