class ImporterVnaUI implements ImporterUI {

    private final String MESSAGE_LINEAR = NbBundle.getMessage(getClass(), "ImporterVnaUI.message.linear");
    private final String MESSAGE_SQUARE_ROOT = NbBundle.getMessage(getClass(), "ImporterVnaUI.message.square_root");
    private final String MESSAGE_LOGARITHMIC = NbBundle.getMessage(getClass(), "ImporterVnaUI.message.logarithmic");
    private ImporterVNA[] importers;
    private JComboBox comboBox;
    private JTextField textField;
    private JLabel messageLabel;
    private JPanel panel;

    @Override
    public void setup(Importer[] importers) {
        this.importers = (ImporterVNA[]) importers;
    }

    @Override
    public JPanel getPanel() {
        panel = new JPanel(new GridBagLayout());
        comboBox = new JComboBox(EdgeWidthFunction.Function.values());
        textField = new JTextField("1", 5);
        messageLabel = new JLabel(MESSAGE_LINEAR);

        comboBox.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                comboBoxSelectionChanged(e);
            }
        });

        GridBagConstraints constraints = new GridBagConstraints();
        constraints.weightx = 1.0;
        constraints.weighty = 1.0;
        constraints.anchor = GridBagConstraints.NORTHWEST;
        constraints.insets = new Insets(5, 5, 5, 5);

        constraints.gridx = 0;
        constraints.gridy = 0;
        panel.add(comboBox, constraints);

        constraints.gridx = 1;
        panel.add(textField, constraints);

        constraints.gridx = 0;
        constraints.gridy = 1;
        constraints.gridwidth = 2;
        panel.add(messageLabel, constraints);

        constraints.gridy = 2;
        constraints.gridwidth = 2;
        constraints.fill = GridBagConstraints.VERTICAL;
        panel.add(new JPanel());

        panel.setPreferredSize(new Dimension(350, 100));
        panel.setSize(new Dimension(350, 100));

        return panel;
    }

    private void comboBoxSelectionChanged(ActionEvent e) {
        switch ((EdgeWidthFunction.Function) comboBox.getSelectedItem()) {
            case LINEAR:
                messageLabel.setText(MESSAGE_LINEAR);
                textField.setEditable(true);
                break;
            case LOGARITHMIC:
                messageLabel.setText(MESSAGE_LOGARITHMIC);
                textField.setEditable(false);
                break;
            case SQUARE_ROOT:
                messageLabel.setText(MESSAGE_SQUARE_ROOT);
                textField.setEditable(false);
                break;
        }
    }

    @Override
    public void unsetup(boolean update) {<FILL_FUNCTION_BODY>}

    @Override
    public String getDisplayName() {
        return NbBundle.getMessage(getClass(), "ImporterVnaUI.displayName");
    }

    @Override
    public boolean isUIForImporter(Importer importer) {
        return importer instanceof ImporterVNA;
    }

}

        if (update) {
            float coefficient = 1;
            if (comboBox.getSelectedItem().equals(EdgeWidthFunction.Function.LINEAR)) {
                try {
                    coefficient = Float.parseFloat(textField.getText());
                } catch (NumberFormatException e) {
                }
            }
            for (ImporterVNA importer : importers) {
                importer.setEdgeWidthFunction(
                    new EdgeWidthFunction((EdgeWidthFunction.Function) comboBox.getSelectedItem(), coefficient));
            }
        }
        panel = null;
        importers = null;
        textField = null;
        messageLabel = null;
        comboBox = null;
    
<no_super_class>