private void initialize(Color color, boolean includeOpacity) {
        this.cp = new ColorPicker(true, includeOpacity);
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (ClassNotFoundException
                | InstantiationException
                | IllegalAccessException
                | UnsupportedLookAndFeelException e) {
        }
        setModal(true);
        setResizable(false);
        getContentPane().setLayout(new GridBagLayout());
        GridBagConstraints c = new GridBagConstraints();
        c.gridx = 0;
        c.gridy = 0;
        c.weightx = 1;
        c.weighty = 1;
        c.fill = GridBagConstraints.BOTH;
        c.gridwidth = GridBagConstraints.REMAINDER;
        c.insets = new Insets(10, 10, 10, 10);
        getContentPane().add(this.cp, c);
        c.gridy++;
        this.footer = DialogFooter.createDialogFooter(new JComponent[] {},
                DialogFooter.OK_CANCEL_OPTION, DialogFooter.OK_OPTION, DialogFooter.ESCAPE_KEY_TRIGGERS_CANCEL);
        c.gridy++;
        c.weighty = 0;
        getContentPane().add(this.footer, c);
        this.cp.setRGB(color.getRed(), color.getGreen(), color.getBlue());
        this.cp.setOpacity(color.getAlpha());
        this.alpha = color.getAlpha();
        pack();
        setLocationRelativeTo(null);

        this.footer.getButton(DialogFooter.OK_OPTION).addActionListener(this.okListener);
    }