diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/collection/ArtifactTransitivityFilter.java b/src/main/java/org/apache/maven/shared/artifact/filter/collection/ArtifactTransitivityFilter.java
index e44d5dd..6edc60d 100644
--- a/src/main/java/org/apache/maven/shared/artifact/filter/collection/ArtifactTransitivityFilter.java
+++ b/src/main/java/org/apache/maven/shared/artifact/filter/collection/ArtifactTransitivityFilter.java
@@ -73,29 +73,6 @@
 
     }
 
-    @SuppressWarnings( "unchecked" )
-    public ArtifactTransitivityFilter( Dependency dependency, ArtifactFactory factory, ArtifactRepository local,
-                                       List<ArtifactRepository> remote, MavenProjectBuilder builder )
-        throws ProjectBuildingException, InvalidDependencyVersionException
-    {
-
-        this.factory = factory;
-        this.local = local;
-        this.remote = remote;
-
-        Artifact rootArtifactPom =
-            factory.createArtifact( dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion(), "",
-                                    "pom" );
-
-        MavenProject rootArtifactProject = builder.buildFromRepository( rootArtifactPom, remote, local );
-
-        // load all the artifacts.
-        transitiveArtifacts =
-            rootArtifactProject.createArtifacts( this.factory, Artifact.SCOPE_TEST,
-                                                 new ScopeArtifactFilter( Artifact.SCOPE_TEST ) );
-
-    }
-
     public Set<Artifact> filter( Set<Artifact> artifacts )
     {
 
