@Override
  public void initialiseContent(JPanel contentPanel) {

    // Postpone the creation of the executor service to the last moment
    restoreWalletExecutorService = SafeExecutors.newSingleThreadExecutor("restore-wallet");

    contentPanel.setLayout(
        new MigLayout(
            Panels.migXYLayout(),
            "[][][]", // Column constraints
            "10[24]10[24]10[24]10[24]10[24]10" // Row constraints
            ));

    // Apply the theme
    contentPanel.setBackground(Themes.currentTheme.detailPanelBackground());

    // Initialise to failure
    backupLocationStatusLabel = Labels.newBackupLocationStatus(false);
    walletCreatedStatusLabel = Labels.newWalletCreatedStatus(false);
    caCertificateStatusLabel = Labels.newCACertsInstalledStatus(false);
    synchronizationStatusLabel = Labels.newSynchronizingStatus(false);

    // Start invisible (activates after CA certs completes)
    blocksLeftLabel = Labels.newValueLabel("0");
    blocksLeftStatusLabel = Labels.newBlocksLeft();

    // Make all labels invisible initially
    backupLocationStatusLabel.setVisible(false);
    walletCreatedStatusLabel.setVisible(false);
    caCertificateStatusLabel.setVisible(false);
    synchronizationStatusLabel.setVisible(false);
    blocksLeftLabel.setVisible(false);
    blocksLeftStatusLabel.setVisible(false);

    contentPanel.add(backupLocationStatusLabel, "wrap");
    contentPanel.add(walletCreatedStatusLabel, "wrap");
    contentPanel.add(caCertificateStatusLabel, "wrap");
    contentPanel.add(synchronizationStatusLabel, "wrap");

    contentPanel.add(blocksLeftStatusLabel, "");
    contentPanel.add(blocksLeftLabel, "wrap");
  }