[MNG-6471] Parallel builder should use the module name as thread name

This closes #177
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java
index 6f5658f..285217f 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java
@@ -187,12 +187,23 @@
     {
         return () ->
         {
-            // muxer.associateThreadWithProjectSegment( projectBuild );
-            lifecycleModuleBuilder.buildProject( projectBuild.getSession(), rootSession, reactorContext,
-                                                 projectBuild.getProject(), taskSegment );
-            // muxer.setThisModuleComplete( projectBuild );
+            final Thread currentThread = Thread.currentThread();
+            final String originalThreadName = currentThread.getName();
+            currentThread.setName( "mvn-builder-" + projectBuild.getProject().getId() );
 
-            return projectBuild;
+            try
+            {
+                // muxer.associateThreadWithProjectSegment( projectBuild );
+                lifecycleModuleBuilder.buildProject( projectBuild.getSession(), rootSession, reactorContext,
+                                                     projectBuild.getProject(), taskSegment );
+                // muxer.setThisModuleComplete( projectBuild );
+
+                return projectBuild;
+            }
+            finally
+            {
+                 currentThread.setName( originalThreadName );
+            }
         };
     }
 }