@Target(value={TYPE,METHOD})
@Retention(value=RUNTIME)
public @interface FineGrainedLazySingleton
LazySingleton with the addition of allowing for more
concurrency. The various Scopes.SINGLETON based scopes have
a major concurrency restriction due to a blunt synchronization (see
the comment inside of the Guice code). This version synchronizes
on the object key and, thus, can construct multiple types of singletons
concurrently.