title: Guice assisted inject with singleton scope
body: <p>I have an interface A, and a class B implement A.</p>
  
  <p>However, the constructor of B is looks like:</p>
  
  <pre><code>     public class B (C c){}
  </code></pre>
  
  <p>where C is a thrid party library class and can only be created on after the bootstrap.
  and I want to B to be a singleton. </p>
  
  <p>I found it difficult to implement this in Guice. I know I can use assisted injector to do this:</p>
  
  <pre><code>    public class B (@Assisted C c){}
  
      public AFactory {
            public A createA(C c);
      }
  </code></pre>
  
  <p>but it looks assisted injector canot produce a singleton instance.</p>
  
  <p>any idea how to implement this? </p>
  
  <p>Thanks. </p>