code: private static Button getFlushButton(
          String captionMessage,
          String descriptionMessage,
          final I_CloseableDialog dialog,
          final Runnable okRun) {
  
          Button ret = new Button();
          ret.setWidth(BUTTON_WIDTH);
          ret.addStyleName("v-button");
          ret.addStyleName("o-button-blue");
          ret.setCaption(CmsVaadinUtils.getMessageText(captionMessage));
          ret.setDescription(CmsVaadinUtils.getMessageText(descriptionMessage));
  
          ret.addClickListener(new ClickListener() {
  
              private static final long serialVersionUID = -4513263981209222571L;
  
              public void buttonClick(ClickEvent event) {
  
                  final Window window = CmsBasicDialog.prepareWindow();
                  dialog.setCloseRunnable(new Runnable() {
  
                      public void run() {
  
                          window.close();
                      }
                  });
                  dialog.setOkRunnable(okRun);
                  window.setContent((Component)dialog);
                  window.setCaption(CmsVaadinUtils.getMessageText(Messages.GUI_CACHE_CLEAN_CONFIRM_0));
                  UI.getCurrent().addWindow(window);
              }
          });
          return ret;
      }
docs: Creates Button to flush cashes.<p>
  
  @param captionMessage caption
  @param descriptionMessage description
  @param dialog layout to be shown
  @param okRun runnable called by clicking button
  @return button with click listener