diff --git a/src/com/google/inject/BoundProviderFactory.java b/src/com/google/inject/BoundProviderFactory.java
index f39e8ae..3cbfc11 100644
--- a/src/com/google/inject/BoundProviderFactory.java
+++ b/src/com/google/inject/BoundProviderFactory.java
@@ -37,15 +37,6 @@
     this.source = source;
   }
 
-  BoundProviderFactory(
-      Key<? extends Provider<? extends T>> providerKey,
-      InternalFactory<? extends Provider<? extends T>> providerFactory,
-      Object source) {
-    this.providerKey = providerKey;
-    this.providerFactory = providerFactory;
-    this.source = source;
-  }
-
   public void notify(final InjectorImpl injector) {
     injector.withDefaultSource(source, new Runnable() {
       public void run() {
@@ -58,10 +49,6 @@
     });
   }
 
-  public String toString() {
-    return providerKey.toString();
-  }
-
   public T get(InternalContext context, InjectionPoint<?> injectionPoint) {
     Provider<? extends T> provider = providerFactory.get(context, injectionPoint);
     try {
@@ -72,4 +59,8 @@
       throw new ProvisionException(e, ErrorMessages.ERROR_IN_PROVIDER);
     }
   }
+
+  @Override public String toString() {
+    return providerKey.toString();
+  }
 }
