/** Adds the overlay panel into the table & converts the button to 'download'. */
  private void setupFakeTable(JPanel overlay) {
    MAIN_PANEL.removeAll();

    // fixes flickering!
    JPanel background =
        new JPanel() {
          public boolean isOptimizedDrawingEnabled() {
            return false;
          }
        };

    background.setLayout(new OverlayLayout(background));

    // overlay.setBorder(BorderFactory.createEmptyBorder(20, 0, 20, 0));

    JPanel overlayPanel = new JPanel();
    overlayPanel.setOpaque(false);
    overlayPanel.setLayout(new MigLayout("fill"));
    overlayPanel.add(overlay, "center");
    JScrollPane scrollPane = new JScrollPane(overlayPanel);
    scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER);
    scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    scrollPane.getViewport().setBackground(Color.WHITE);
    scrollPane.setBorder(BorderFactory.createEmptyBorder(28, 10, 4, 10));

    JComponent table = getScrolledTablePane();
    table.setOpaque(false);
    background.add(scrollPane);
    background.add(table);

    MAIN_PANEL.add(background);
    addButtonRow();
  }