code>A</code>, a naive injector
 implementation might go into an infinite loop constructing an instance of
 <code>B</code> to set on <code>A</code>, a second instance of <code>A</code> to set on
 <code>B</code>, a second instance of <code>B</code> to set on the second instance of
 <code>A</code>, and so on.

 <p>A conservative injector might detect the circular dependency at build
 time and generate an error, at which point the programmer could break the
 circular dependency by injecting <a href="../../java