2121import java .util .ArrayList ;
2222import java .util .Arrays ;
2323import java .util .Collection ;
24+ import java .util .Comparator ;
2425import java .util .HashSet ;
2526import java .util .LinkedHashSet ;
2627import java .util .List ;
@@ -250,7 +251,7 @@ public Object[] getElements(Object element) {
250251 if (element instanceof List ) {
251252 @ SuppressWarnings ("unchecked" )
252253 List <MavenProjectInfo > projects = (List <MavenProjectInfo >) element ;
253- return projects . toArray ( new MavenProjectInfo [ projects . size ()] );
254+ return sorted ( projects );
254255 }
255256 return EMPTY ;
256257 }
@@ -260,14 +261,20 @@ public Object[] getChildren(Object parentElement) {
260261 if (parentElement instanceof List ) {
261262 @ SuppressWarnings ("unchecked" )
262263 List <MavenProjectInfo > projects = (List <MavenProjectInfo >) parentElement ;
263- return projects . toArray ( new MavenProjectInfo [ projects . size ()] );
264+ return sorted ( projects );
264265 } else if (parentElement instanceof MavenProjectInfo mavenProjectInfo ) {
265266 Collection <MavenProjectInfo > projects = mavenProjectInfo .getProjects ();
266- return projects . toArray ( new MavenProjectInfo [ projects . size ()] );
267+ return sorted ( projects );
267268 }
268269 return EMPTY ;
269270 }
270271
272+ private MavenProjectInfo [] sorted (Collection <MavenProjectInfo > projects ) {
273+ List <MavenProjectInfo > sortedProjects = new ArrayList <>(projects );
274+ sortedProjects .sort (Comparator .comparing (MavenProjectInfo ::getLabel ));
275+ return sortedProjects .toArray (MavenProjectInfo []::new );
276+ }
277+
271278 @ Override
272279 public Object getParent (Object element ) {
273280 return null ;
0 commit comments