void (final DomElement domElement) { if (domElement == null) return; DomElementAnnotationsManager.getInstance(domElement.getManager().getProject()).addHighlightingListener(new DomElementAnnotationsManager.DomHighlightingListener() { @Override public void highlightingFinished(@NotNull final DomFileElement element) { ApplicationManager.getApplication().invokeLater(() -> { if (getComponent().isShowing() && element.isValid()) { updateHighlighting(); } }); } }, this); for (final AbstractDomChildrenDescription description : domElement.getGenericInfo().getChildrenDescriptions()) { final JComponent boundComponent = getBoundComponent(description); if (boundComponent != null) { if (description instanceof DomFixedChildDescription && DomUtil.isGenericValueType(description.getType())) { if ((description.getValues(domElement)).size() == 1) { final GenericDomValue element = domElement.getManager().createStableValue( () -> domElement.isValid() ? (GenericDomValue)description.getValues(domElement).get(0) : null); doBind(DomUIFactory.createControl(element, commitOnEveryChange(element)), boundComponent); } else { //todo not bound } } else if (description instanceof DomCollectionChildDescription) { doBind(DomUIFactory.getDomUIFactory().createCollectionControl(domElement, (DomCollectionChildDescription)description), boundComponent); } } } reset(); }