private static class ModuleWithTrueSingleton extends AbstractModule {
@Override
protected void configure() {
//bind the true singleton scope to an instance created right here
TrueSingletonScope trueSingletonScope = new TrueSingletonScope();
bindScope(TrueSingleton.class, trueSingletonScope);
bind(TrueSingletonScope.class)
.annotatedWith(Names.named("trueSingletonScope"))
.toInstance(trueSingletonScope);