public void validateNode() { boolean prevValid = valid; String prevMessages = getValidationMessagesString(); validate(); if (suppressEvents == false) { this.firePropertyChange( "validationMessagesString", prevMessages, getValidationMessagesString()); this.firePropertyChange("valid", prevValid, valid); } if (valid) { setImage(getValidImage()); } else { setImage(getInvalidImage()); } if (prevValid != valid) { // changing of one element could cause others to become valid or invalid AbstractModelNode root = getRoot(); if (root != null && root instanceof AbstractMetaDataModelNode) { AbstractMetaDataModelNode rootNode = (AbstractMetaDataModelNode) root; rootNode.validateTree(); } } }