public OperationProgressDialog(String title, String message, TestStatus event) {
        super();
        this.title = title;
        this.message = message;
        this.event = event;
        JProgressBar jProgressBar = new JProgressBar();
        jProgressBar.setIndeterminate(true);
        final JOptionPane progressPane = new JOptionPane(jProgressBar, JOptionPane.INFORMATION_MESSAGE,
                JOptionPane.DEFAULT_OPTION, null, new Object[]{}, null);
        this.setTitle(this.title);
        this.setModal(true);
        Container contentPane = this.getContentPane();
        contentPane.add(new JLabel(this.message), BorderLayout.NORTH);
        contentPane.add(progressPane, BorderLayout.SOUTH);
        this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
        this.setSize(this.message.length() * 8, 130);
        BmTestManager.getInstance().testInfoNotificationListeners.add(new ITestInfoNotification() {
            @Override
            public void onTestInfoChanged(TestInfo testInfo) {
                TestStatus testStatus = testInfo.getStatus();
                if (testStatus != null && testStatus.equals(OperationProgressDialog.this.event)) {
                    OperationProgressDialog.this.windowClosed(new WindowEvent(OperationProgressDialog.this, WindowEvent.WINDOW_CLOSED));
                    BmTestManager.getInstance().testInfoNotificationListeners.remove(this);
                }
            }
        });
    }