void () { 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); } }