@Nullable private DomExtensionsRegistrarImpl runDomExtenders() { DomExtensionsRegistrarImpl registrar = null; final DomElement domElement = myInvocationHandler.getProxy(); final Project project = myInvocationHandler.getManager().getProject(); for (final DomExtenderEP extenderEP : Extensions.getExtensions(DomExtenderEP.EP_NAME)) { registrar = extenderEP.extend(project, domElement, registrar); } final AbstractDomChildDescriptionImpl description = myInvocationHandler.getChildDescription(); if (description != null) { final List<DomExtender> extenders = description.getUserData(DomExtensionImpl.DOM_EXTENDER_KEY); if (extenders != null) { if (registrar == null) registrar = new DomExtensionsRegistrarImpl(); for (final DomExtender extender : extenders) { //noinspection unchecked extender.registerExtensions(domElement, registrar); } } } return registrar; }