[MNG-2931] Add workaround to MNG-2931

git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@526242 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java b/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java
index 5490e4a..afff68c 100644
--- a/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java
+++ b/src/main/java/org/apache/maven/shared/dependency/tree/DefaultDependencyTreeBuilder.java
@@ -126,6 +126,22 @@
                                     + "': " + exception.getMessage(), exception );
                 }
             }
+
+            /*
+             * TODO work around bug MNG-2931, remove after upgrading to fixed version  
+             * remove the originating artifact if it is also in managed versions to avoid being modified during resolution
+             */
+            Artifact managedOriginatingArtifact = (Artifact) managedVersionMap.get( project.getArtifact()
+                .getDependencyConflictId() );
+            if ( managedOriginatingArtifact != null )
+            {
+                String managedVersion = managedOriginatingArtifact.getVersion();
+                String version = project.getArtifact().getVersion();
+                if ( !managedVersion.equals( version ) )
+                {
+                    managedVersionMap.remove( project.getArtifact().getDependencyConflictId() );
+                }
+            }
         }
         else
         {