});
}; nameArea.getDocument().addDocumentListener(nameAreaListener);
    private void initComponents()    {        tabbedPane = new JTabbedPane();        nameArea = new JTextField();        setTextAreaDefault(nameArea);        descriptionArea = new MultilineLabel();        setTextAreaDefault(descriptionArea);        if (model.getEditorType() == Editor.PROPERTIES_EDITOR) {            nameArea.setText(model.getDataObjectName());            descriptionArea.setText(model.getDataObjectDescription());            descriptionArea.getDocument().addDocumentListener(                    new DocumentListener() {                public void insertUpdate(DocumentEvent de)                {                    view.handleDescriptionAreaInsert();                }                                /**                  * Required by I/F but no-op implementation in our case.                  * @see DocumentListener#removeUpdate(DocumentEvent)                 */                public void removeUpdate(DocumentEvent de) {}                /**                  * Required by I/F but no-op implementation in our case.                  * @see DocumentListener#removeUpdate(DocumentEvent)                 */                public void changedUpdate(DocumentEvent de) {}                            });            if (!(model.isEditable())) {                nameArea.setEditable(false);                descriptionArea.setEditable(false);            }            if (model.isAnnotable()) {                annotator = new DOAnnotation(view, model);                IconManager im = IconManager.getInstance();                //tabbedPane.ins                tabbedPane.addTab(ANNOTATION,                             im.getIcon(IconManager.ANNOTATION), annotator);            }            if (model.isClassified()) {                classifier = new DOClassification(model);                tabbedPane.addTab(CLASSIFICATION,                       IconManager.getInstance().getIcon(IconManager.CATEGORY),                      classifier);            }        }        nameArea.getDocument().addDocumentListener(                new DocumentListener() {            /**              * Updates the editor's controlswhen some text is inserted.              * @see DocumentListener#insertUpdate(DocumentEvent)             */            public void insertUpdate(DocumentEvent de)            {                view.handleNameAreaInsert();            }                        /**              * Displays an error message when the data object has no name.              * @see DocumentListener#removeUpdate(DocumentEvent)             */            public void removeUpdate(DocumentEvent de)            {                if (de.getDocument().getLength() == 0)                    view.handleEmptyNameArea();            }            /**              * Required by I/F but no-op implementation in our case.              * @see DocumentListener#changedUpdate(DocumentEvent)             */            public void changedUpdate(DocumentEvent de) {}                    });    }   