@@ -106,24 +106,24 @@ public boolean allTypesSelected(Collection<MarkerType> selectedTypes) {
106106 public MarkerField [] getAllFields () {
107107 List <MarkerField > allFieldsList = new ArrayList <>(Arrays .asList (allFieldsWithoutExtensions ));
108108
109- Iterator <IConfigurationElement > extensions = generatorExtensions .iterator ();
110- while (extensions .hasNext ()) {
111- addMarkerFieldsFrom (extensions .next (), allFieldsList );
112- }
109+ getExtensionsDescriptorsStream ().flatMap (descriptor -> Arrays .stream (descriptor .getAllFields ()))
110+ .forEach (field -> allFieldsList .add (field ));
113111
114112 return allFieldsList .toArray (new MarkerField [allFieldsList .size ()]);
115113 }
116114
117- private void addMarkerFieldsFrom (IConfigurationElement extensionElement , List <MarkerField > markerFields ) {
118- String extendingMarkerContentGeneratorId = extensionElement
119- .getAttribute (MarkerSupportInternalUtilities .ATTRIBUTE_ID );
120- if (extendingMarkerContentGeneratorId != null && !extendingMarkerContentGeneratorId .isBlank ()) {
121- ContentGeneratorDescriptor descriptor = MarkerSupportRegistry .getInstance ()
122- .getContentGenDescriptor (extendingMarkerContentGeneratorId );
123- if (descriptor != null ) {
124- Arrays .stream (descriptor .getAllFields ()).forEach (field -> markerFields .add (field ));
125- }
115+ private Stream <ContentGeneratorDescriptor > getExtensionsDescriptorsStream () {
116+ if (generatorExtensions != null ) {
117+ final MarkerSupportRegistry registry = MarkerSupportRegistry .getInstance ();
118+
119+ return generatorExtensions .stream ()
120+ .map (extensionConfigElem -> extensionConfigElem
121+ .getAttribute (MarkerSupportInternalUtilities .ATTRIBUTE_ID ))
122+ .filter (id -> id != null && !id .isBlank ())
123+ .map (contentGeneratorId -> registry .getContentGenDescriptor (contentGeneratorId ))
124+ .filter (generator -> generator != null );
126125 }
126+ return Stream .empty ();
127127 }
128128
129129 /**
0 commit comments