XmlElementDescriptor[] (XmlTag context) { if (context != null) { final PsiClass psiClass = getPsiClass(); if (psiClass != null) { final List<XmlElementDescriptor> children = new ArrayList<>(); collectWritableProperties(children, member -> new JavaFxPropertyTagDescriptor(psiClass, PropertyUtilBase.getPropertyName(member), false)); final JavaFxPropertyTagDescriptor defaultPropertyDescriptor = getDefaultPropertyDescriptor(); if (defaultPropertyDescriptor != null) { Collections.addAll(children, defaultPropertyDescriptor.getElementsDescriptors(context)); } else { for (String name : FxmlConstants.FX_BUILT_IN_TAGS) { children.add(new JavaFxBuiltInTagDescriptor(name, null)); } } collectStaticElementDescriptors(context, children); if (!children.isEmpty()) { return children.toArray(XmlElementDescriptor.EMPTY_ARRAY); } } } return XmlElementDescriptor.EMPTY_ARRAY; }