private void initNestedElements() {
      if (myNestedElements != null) {
        return;
      }
      myNestedElements = new ArrayList<>();
      myNestedElementTypes = new HashMap<>();
      final Enumeration<String> nestedElements = myIntrospector.getNestedElements();
      while (nestedElements.hasMoreElements()) {
        final String elemName = nestedElements.nextElement();
        myNestedElements.add(elemName);
        myNestedElementTypes.put(elemName, myIntrospector.getElementType(elemName));
      }

      final Set<String> extensionPointTypes = myIntrospector.getExtensionPointTypes();
      for (String extPoint : extensionPointTypes) {
        processEntries(extPoint, myCoreTaskDefs);
        processEntries(extPoint, myCoreTypeDefs);
        processRestrictedTypeDefinitions(extPoint);
      }
    }
private void initNestedElements()