[MNG-6114] Elements from the global settings should be ordered before elements from the user settings

This closes #142 and closes #418
diff --git a/maven-settings-builder/src/main/java/org/apache/maven/settings/merge/MavenSettingsMerger.java b/maven-settings-builder/src/main/java/org/apache/maven/settings/merge/MavenSettingsMerger.java
index 8d9f67b..cb5f6c1 100644
--- a/maven-settings-builder/src/main/java/org/apache/maven/settings/merge/MavenSettingsMerger.java
+++ b/maven-settings-builder/src/main/java/org/apache/maven/settings/merge/MavenSettingsMerger.java
@@ -111,6 +111,7 @@
                                                                        String recessiveSourceLevel )
     {
         Map<String, T> dominantById = mapById( dominant );
+        final List<T> identifiables = new ArrayList<>( recessive.size() );
 
         for ( T identifiable : recessive )
         {
@@ -118,9 +119,11 @@
             {
                 identifiable.setSourceLevel( recessiveSourceLevel );
 
-                dominant.add( identifiable );
+                identifiables.add( identifiable );
             }
         }
+
+        dominant.addAll( 0, identifiables );
     }
 
     /**