@Override
  protected void changeBorder() {
    int flags;

    Border empty = BorderFactory.createEmptyBorder();

    int iInsets = bSmallTitle ? 0 : 2;

    if (getOrientation().isHorizontal()) {
      flags = CEclipseBorder.TOP_RIGHT | CEclipseBorder.BOTTOM_RIGHT;
      empty = new EmptyBorder(iInsets, 2, iInsets, 4);
    } else {
      flags = CEclipseBorder.BOTTOM_LEFT | CEclipseBorder.BOTTOM_RIGHT;
      empty = new EmptyBorder(2, iInsets, 4, iInsets);
    }

    Border border = new CEclipseBorder(getOrigin().getController(), 6, flags);

    Insets ins = getOutsideInsets();
    Border b =
        new CompoundBorder(
            BorderFactory.createEmptyBorder(ins.top, ins.left, ins.bottom, ins.right),
            new CompoundBorder(border, empty));

    setBorder(ThemeManager.BORDER_MODIFIER + ".title.eclipse.button.flat", b);
  }
  private static JComponent makeUI() {
    // final JProgressBar progressBar = new JProgressBar(SwingConstants.VERTICAL);
    final JProgressBar progressBar = new JProgressBar();
    progressBar.setOpaque(false);
    progressBar.setUI(new GradientPalletProgressBarUI());

    GridBagConstraints c = new GridBagConstraints();
    JPanel p = new JPanel(new GridBagLayout());
    p.setBorder(BorderFactory.createEmptyBorder(32, 8, 0, 8));

    c.gridheight = 1;
    c.gridwidth = 1;
    c.gridy = 0;

    c.gridx = 0;
    c.insets = new Insets(0, 0, 0, 4);
    c.weightx = 1d;
    c.fill = GridBagConstraints.HORIZONTAL;
    p.add(progressBar, c);

    c.gridx = 1;
    c.weightx = 0d;
    p.add(
        new JButton(
            new AbstractAction("Start") {
              @Override
              public void actionPerformed(ActionEvent e) {
                final JButton b = (JButton) e.getSource();
                b.setEnabled(false);
                SwingWorker<Void, Void> worker =
                    new Task() {
                      @Override
                      public void done() {
                        if (b.isDisplayable()) {
                          b.setEnabled(true);
                        }
                      }
                    };
                worker.addPropertyChangeListener(new ProgressListener(progressBar));
                worker.execute();
              }
            }),
        c);
    return p;
  }