docs: private VerticalLayout getLayoutFromEntry(
          CmsObject cms,
          CmsAccessControlEntry entry,
          final CmsPermissionView view,
          String resPath) {
  
          VerticalLayout res = new VerticalLayout();
          res.setSpacing(false);
          I_CmsPrincipal principal = null;
          try {
              principal = CmsPrincipal.readPrincipalIncludingHistory(cms, entry.getPrincipal());
  
          } catch (CmsException e) {
              principal = new CmsGroup(entry.getPrincipal(), null, "", "", 0);
  
          }
          if (principal != null) {
              CmsResourceInfo info = CmsAccountsApp.getPrincipalInfo(principal);
              if (view.isEditable()) {
                  CssLayout cssl = new CssLayout();
                  Button removeButton = new Button(FontOpenCms.TRASH_SMALL);
                  removeButton.addStyleName("borderless o-toolbar-button o-resourceinfo-toolbar o-toolbar-icon-visible");
                  removeButton.addClickListener(new ClickListener() {
  
                      private static final long serialVersionUID = -6112693137800596485L;
  
                      public void buttonClick(ClickEvent event) {
  
                          view.deletePermissionSet();
  
                      }
  
                  });
                  cssl.addComponent(removeButton);
                  info.setButtonWidget(cssl);
              }
              res.addComponent(info);
              if (resPath != null) {
                  Label resLabel = new Label(
                      CmsVaadinUtils.getMessageText(Messages.GUI_PERMISSION_INHERITED_FROM_1, resPath));
                  resLabel.addStyleName("o-report");
                  res.addComponent(resLabel);
              }
          }
          res.addComponent(view);
          return res;
      }