docs: public static void openChildDialog(Component currentComponent, Component newView, String newCaption) {
  
          final Window window = CmsVaadinUtils.getWindow(currentComponent);
          final String oldCaption = window.getCaption();
          CmsBasicDialog dialog = new CmsBasicDialog();
  
          VerticalLayout vl = new VerticalLayout();
          dialog.setContent(vl);
          Button backButton = new Button(CmsVaadinUtils.getMessageText(Messages.GUI_CHILD_DIALOG_GO_BACK_0));
          HorizontalLayout buttonBar = new HorizontalLayout();
          buttonBar.addComponent(backButton);
          buttonBar.setMargin(true);
          vl.addComponent(buttonBar);
          vl.addComponent(newView);
          final Component oldContent = window.getContent();
          if (oldContent instanceof CmsBasicDialog) {
              List<CmsResource> infoResources = ((CmsBasicDialog)oldContent).getInfoResources();
              dialog.displayResourceInfo(infoResources);
              if (oldContent instanceof CmsHistoryDialog) {
                  dialog.addButton(((CmsHistoryDialog)oldContent).createCloseButton());
              }
          }
          backButton.addClickListener(new ClickListener() {
  
              private static final long serialVersionUID = 1L;
  
              public void buttonClick(ClickEvent event) {
  
                  window.setContent(oldContent);
                  window.setCaption(oldCaption);
                  window.center();
  
              }
  
          });
          window.setContent(dialog);
          window.setCaption(newCaption);
          window.center();
  
      }