docs: private Component createImageButton() {
  
          CssLayout layout = new CssLayout();
          layout.addStyleName(OpenCmsTheme.USER_IMAGE);
          Image userImage = new Image();
          userImage.setSource(
              new ExternalResource(
                  OpenCms.getWorkplaceAppManager().getUserIconHelper().getBigIconPath(A_CmsUI.getCmsObject(), m_user)));
  
          layout.addComponent(userImage);
  
          if (!CmsAppWorkplaceUi.isOnlineProject() & (m_uploadListener != null)) {
              CmsUploadButton uploadButton = createImageUploadButton(
                  null,
                  FontOpenCms.UPLOAD_SMALL,
                  m_user,
                  m_uploadListener);
              layout.addComponent(uploadButton);
              if (CmsUserIconHelper.hasUserImage(m_user)) {
                  Button deleteButton = new Button(FontOpenCms.TRASH_SMALL);
                  deleteButton.addClickListener(new ClickListener() {
  
                      private static final long serialVersionUID = 1L;
  
                      public void buttonClick(ClickEvent event) {
  
                          OpenCms.getWorkplaceAppManager().getUserIconHelper().deleteUserImage(A_CmsUI.getCmsObject());
                          m_context.updateUserInfo();
  
                      }
                  });
                  layout.addComponent(deleteButton);
              }
          }
  
          return layout;
      }