private void create() {
        JPanel textPanel = new JPanel();
        textPanel.setBackground(GUIConstants.DEFAULT_BACKGROUND);
        String tmp = GUIStrings.keyToLocatedString(GUIStrings.KEY_AFTERAPPLYDIALOG_TITLE);
        textPanel.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createTitledBorder(tmp),
                BorderFactory.createEmptyBorder(5, 5, 0, 5)));
        textPanel.setLayout(new BorderLayout(0, 0));
        this.basePanel.add(textPanel, BorderLayout.CENTER);

        {
            JTextPane lblMessageLabel = new JTextPane();
            lblMessageLabel.setBorder(BorderFactory.createEmptyBorder(15, 0, 15, 0));
            lblMessageLabel.setFocusable(false);
            lblMessageLabel.setText(GUIStrings.keyToLocatedString(GUIStrings.KEY_AFTERAPPLYDIALOG_MSG));
            lblMessageLabel.setEditable(false);
            lblMessageLabel.setFont(GUIConstants.DEFAULT_MESSAGE_FONT.deriveFont(Font.BOLD, 14));
            lblMessageLabel.setBackground(GUIConstants.DEFAULT_BACKGROUND);
            textPanel.add(lblMessageLabel, BorderLayout.NORTH);

            SimpleAttributeSet center = new SimpleAttributeSet();
            StyleConstants.setAlignment(center, StyleConstants.ALIGN_CENTER);
            StyledDocument doc = lblMessageLabel.getStyledDocument();
            doc.setParagraphAttributes(0, doc.getLength(), center, false);

            JPanel subtextPanel = new JPanel();
            subtextPanel.setBorder(BorderFactory.createEmptyBorder(10, 5, 0, 5));
            subtextPanel.setBackground(GUIConstants.DEFAULT_BACKGROUND);
            subtextPanel.setLayout(new BorderLayout(0, 5));
            textPanel.add(subtextPanel, BorderLayout.CENTER);

            Font font = new Font("Segoe UI", Font.PLAIN, 14);
            {

                JTextArea lblHintOneLabel = new JTextArea();
                lblHintOneLabel.setFont(font);
                lblHintOneLabel.setText(GUIStrings.keyToLocatedString(GUIStrings.KEY_AFTERAPPLYDIALOG_HINT1));
                lblHintOneLabel.setFocusable(false);
                lblHintOneLabel.setEditable(false);
                lblHintOneLabel.setLineWrap(true);
                lblHintOneLabel.setWrapStyleWord(true);
                lblHintOneLabel.setBackground(GUIConstants.DEFAULT_BACKGROUND);
                subtextPanel.add(lblHintOneLabel, BorderLayout.NORTH);

                JTextArea lblHintTwoLabel = new JTextArea();
                lblHintTwoLabel.setFont(font);
                lblHintTwoLabel.setText(GUIStrings.keyToLocatedString(GUIStrings.KEY_AFTERAPPLYDIALOG_HINT2));
                lblHintTwoLabel.setBorder(BorderFactory.createEmptyBorder(15, 0, 0, 0));
                lblHintTwoLabel.setFocusable(false);
                lblHintTwoLabel.setEditable(false);
                lblHintTwoLabel.setLineWrap(true);
                lblHintTwoLabel.setWrapStyleWord(true);
                lblHintTwoLabel.setBackground(GUIConstants.DEFAULT_BACKGROUND);
                subtextPanel.add(lblHintTwoLabel);
            }

            JPanel backupBtnPanel = new JPanel();
            backupBtnPanel.setBackground(GUIConstants.DEFAULT_BACKGROUND);
            backupBtnPanel.setLayout(new BorderLayout());
            backupBtnPanel.setBorder(BorderFactory.createEmptyBorder(15, 15, 5, 15));
            subtextPanel.add(backupBtnPanel, BorderLayout.SOUTH);

            JTextPane lblBackupHintLabel = new JTextPane();
            lblBackupHintLabel.setBorder(BorderFactory.createEmptyBorder(0, 0, 15, 0));
            lblBackupHintLabel.setFocusable(false);
            lblBackupHintLabel.setText(GUIStrings.keyToLocatedString(GUIStrings.KEY_AFTERAPPLYDIALOG_BACKUPHINT));
            lblBackupHintLabel.setEditable(false);
            lblBackupHintLabel.setFont(font.deriveFont(Font.ITALIC, 12));
            lblBackupHintLabel.setBackground(GUIConstants.DEFAULT_BACKGROUND);
            backupBtnPanel.add(lblBackupHintLabel, BorderLayout.NORTH);

            doc = lblBackupHintLabel.getStyledDocument();
            doc.setParagraphAttributes(0, doc.getLength(), center, false);

            final JButton btnApplyBackupButton = new JButton(GUIStrings.keyToLocatedString(GUIStrings.KEY_AFTERAPPLYDIALOG_BACKUP));
            btnApplyBackupButton.setBackground(GUIConstants.DEFAULT_BACKGROUND);
            btnApplyBackupButton.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent arg0) {
                    btnApplyBackupButton.setEnabled(false);
                    if (Main.applyBackup()) {
                        btnApplyBackupButton.setForeground(Color.GREEN.darker());
                        btnApplyBackupButton.setText(GUIStrings.keyToLocatedString(GUIStrings.KEY_AFTERAPPLYDIALOG_BACKUPAPPLIED));
                    } else {
                        btnApplyBackupButton.setForeground(Color.RED.darker());
                    }
                }
            });
            backupBtnPanel.add(btnApplyBackupButton, BorderLayout.CENTER);
        }

        JPanel buttonPanel = new JPanel();
        buttonPanel.setBackground(GUIConstants.DEFAULT_BACKGROUND);
        buttonPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
        getContentPane().add(buttonPanel, BorderLayout.SOUTH);

        {
            JButton okButton = new JButton(GUIStrings.keyToLocatedString(GUIStrings.KEY_AFTERAPPLYDIALOG_OK));
            okButton.setBackground(GUIConstants.DEFAULT_BACKGROUND);
            okButton.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    dispose();
                }
            });
            buttonPanel.add(okButton);
        }
    }