org.apache.maven.its.dependency:tree-multimodule-module-a:jar:1.0-SNAPSHOT
\- org.apache.maven:maven-project:jar:2.0.6:compile
   +- org.apache.maven:maven-settings:jar:2.0.6:compile
   |  +- (org.apache.maven:maven-model:jar:2.0.6:compile - omitted for duplicate)
   |  +- (org.codehaus.plexus:plexus-utils:jar:1.4.1:compile - omitted for duplicate)
   |  \- (org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile - omitted for duplicate)
   +- org.apache.maven:maven-profile:jar:2.0.6:compile
   |  +- (org.apache.maven:maven-model:jar:2.0.6:compile - omitted for duplicate)
   |  +- (org.codehaus.plexus:plexus-utils:jar:1.4.1:compile - omitted for duplicate)
   |  \- (org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile - omitted for duplicate)
   +- org.apache.maven:maven-model:jar:2.0.6:compile
   |  \- (org.codehaus.plexus:plexus-utils:jar:1.4.1:compile - omitted for duplicate)
   +- org.apache.maven:maven-artifact-manager:jar:2.0.6:compile
   |  +- org.apache.maven:maven-repository-metadata:jar:2.0.6:compile
   |  |  \- (org.codehaus.plexus:plexus-utils:jar:1.4.1:compile - omitted for duplicate)
   |  +- (org.codehaus.plexus:plexus-utils:jar:1.4.1:compile - omitted for duplicate)
   |  +- (org.apache.maven:maven-artifact:jar:2.0.6:compile - omitted for duplicate)
   |  +- (org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile - omitted for duplicate)
   |  \- org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2:compile
   |     \- (org.codehaus.plexus:plexus-utils:jar:1.0.4:compile - omitted for duplicate)
   +- org.apache.maven:maven-plugin-registry:jar:2.0.6:compile
   |  +- (org.codehaus.plexus:plexus-utils:jar:1.4.1:compile - omitted for duplicate)
   |  \- (org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile - omitted for duplicate)
   +- org.codehaus.plexus:plexus-utils:jar:1.4.1:compile
   +- org.apache.maven:maven-artifact:jar:2.0.6:compile
   |  \- (org.codehaus.plexus:plexus-utils:jar:1.4.1:compile - omitted for duplicate)
   \- org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile
      +- junit:junit:jar:3.8.1:compile
      +- (org.codehaus.plexus:plexus-utils:jar:1.0.4:compile - omitted for conflict with 1.4.1)
      \- classworlds:classworlds:jar:1.1-alpha-2:compile
