public void propertyChange(PropertyChangeEvent e) {
            JInternalFrame jif = (JInternalFrame) e.getSource();
            if (!(jif.getUI() instanceof BaseInternalFrameUI)) {
                return;
            }

            BaseInternalFrameUI ui = (BaseInternalFrameUI) jif.getUI();
            String name = e.getPropertyName();
            if (name.equals("JInternalFrame.frameType")) {
                if (e.getNewValue() instanceof String) {
                    if ("palette".equals(e.getNewValue())) {
                        LookAndFeel.installBorder(ui.frame, "InternalFrame.paletteBorder");
                        ui.setPalette(true);
                    } else {
                        LookAndFeel.installBorder(ui.frame, "InternalFrame.border");
                        ui.setPalette(false);
                    }
                }
            } else if (name.equals("JInternalFrame.isPalette")) {
                if (e.getNewValue() != null) {
                    ui.setPalette(((Boolean) e.getNewValue()).booleanValue());
                } else {
                    ui.setPalette(false);
                }
            } else if (name.equals(JInternalFrame.CONTENT_PANE_PROPERTY)) {
                ui.stripContentBorder();
            }
        }