title: Guice AssistedInject won't inject the factory
body: <p>I am trying to use Guice 3.0 <code>AssistedInject</code>, and it won't instantiate the factory.</p>
  
  <p>SSCCE Code:</p>
  
  <h3>Parent class</h3>
  
  <pre><code>public class ParentClass() {
    @Inject private MyFactory myFactory;
    private final Foo foo;
    private final Bar bar;
    public ParentClass() {
      if(myFactory == null) System.err.println("Error: I should have injected by now!");
      foo = myFactory.create(new Map&lt;String, Object&gt;());
      // etc.
    }
  }
  </code></pre>
  
  <h3>Factory Interface</h3>
  
  <pre><code>public interface MyFactory {
    Foo create(Map&lt;String, Object&gt; mapA);
    Bar create(Map&lt;String, Object&gt; mapB, Map&lt;String, Object&gt; mapC);
  }
  </code></pre>
  
  <h3>Module</h3>
  
  <pre><code>public class ParentModule extends AbstractModule {
    @Override
    protected void configure() {
      install(new FactoryModuleBuilder()
          .implement(Foo.class, FooImpl.class)
          .implement(Bar.class, BarImpl.class)
          .build(MyFactory.class));
    }
  </code></pre>
  
  <h3>FooImpl</h3>
  
  <pre><code>public class FooImpl implements Foo {
    private final Map&lt;String, Object&gt; mapA;
    @AssistedInject
    public FooImpl(@Assisted Map&lt;String, Object&gt; mapA) {
      this.mapA = mapA;
    }
  }
  </code></pre>
  
  <p><code>BarImpl</code> is very similar to <code>FooImpl</code>. What is going wrong here? Note also that I tried both <code>@AssistedInject</code> and <code>@Inject</code> here, both cause the error.</p>
  
  <p>Output:</p>
  
  <pre><code>Error: I should have injected by now!
  Exception in thread "main" com.google.inject.ProvisionException: Guice provision errors:
  
  1) Error injecting constructor, java.lang.NullPointerException
    at ParentClass.&lt;init&gt;(ParentClass.java:7)
    while locating com.my.package.ParentClass
  
  1 error
          at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987)
          at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
          at com.my.package.ParentMain.main(ParentMain.java:16)
  Caused by: java.lang.NullPointerException
          at com.my.package.ParentClass.&lt;init&gt;(ParentClass.java:9)
          at com.my.package.ParentClass$$FastClassByGuice$$d4b3063a.newInstance(&lt;generated&gt;)
          at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
          ... 8 more
  </code></pre>
  
  <p>Note that line 9 is the line of the first call to <code>myFactory.create()</code></p>