diff --git a/org.eclipse.sisu.plexus/src/org/codehaus/plexus/DefaultPlexusContainer.java b/org.eclipse.sisu.plexus/src/org/codehaus/plexus/DefaultPlexusContainer.java
index 54224e9..a2ee21a 100644
--- a/org.eclipse.sisu.plexus/src/org/codehaus/plexus/DefaultPlexusContainer.java
+++ b/org.eclipse.sisu.plexus/src/org/codehaus/plexus/DefaultPlexusContainer.java
@@ -270,13 +270,13 @@
     public List<Object> lookupList( final String role )
         throws ComponentLookupException
     {
-        return new EntryListAdapter<String, Object>( locate( role, null ) );
+        return new EntryListAdapter<Object>( locate( role, null ) );
     }
 
     public <T> List<T> lookupList( final Class<T> role )
         throws ComponentLookupException
     {
-        return new EntryListAdapter<String, T>( locate( null, role ) );
+        return new EntryListAdapter<T>( locate( null, role ) );
     }
 
     public Map<String, Object> lookupMap( final String role )
diff --git a/org.eclipse.sisu.plexus/src/org/eclipse/sisu/plexus/PlexusRequirements.java b/org.eclipse.sisu.plexus/src/org/eclipse/sisu/plexus/PlexusRequirements.java
index ef5a001..c4a6f6e 100644
--- a/org.eclipse.sisu.plexus/src/org/eclipse/sisu/plexus/PlexusRequirements.java
+++ b/org.eclipse.sisu.plexus/src/org/eclipse/sisu/plexus/PlexusRequirements.java
@@ -191,7 +191,7 @@
 
         public List<T> get()
         {
-            return new EntryListAdapter<String, T>( locate() );
+            return new EntryListAdapter<T>( locate() );
         }
     }
 
@@ -217,7 +217,7 @@
 
         public Set<T> get()
         {
-            return new EntrySetAdapter<String, T>( locate() );
+            return new EntrySetAdapter<T>( locate() );
         }
     }
 
diff --git a/org.eclipse.sisu.plexus/src/org/eclipse/sisu/plexus/PseudoPlexusContainer.java b/org.eclipse.sisu.plexus/src/org/eclipse/sisu/plexus/PseudoPlexusContainer.java
index 1dd7d83..f06112c 100644
--- a/org.eclipse.sisu.plexus/src/org/eclipse/sisu/plexus/PseudoPlexusContainer.java
+++ b/org.eclipse.sisu.plexus/src/org/eclipse/sisu/plexus/PseudoPlexusContainer.java
@@ -112,13 +112,13 @@
     public List<Object> lookupList( final String role )
         throws ComponentLookupException
     {
-        return new EntryListAdapter<String, Object>( locate( role, null ) );
+        return new EntryListAdapter<Object>( locate( role, null ) );
     }
 
     public <T> List<T> lookupList( final Class<T> role )
         throws ComponentLookupException
     {
-        return new EntryListAdapter<String, T>( locate( null, role ) );
+        return new EntryListAdapter<T>( locate( null, role ) );
     }
 
     public Map<String, Object> lookupMap( final String role )
