private InjectionNodeBuilderRepository buildVariableBuilderMap() {
    InjectionNodeBuilderRepository injectionNodeBuilderRepository =
        injectionNodeBuilderRepositoryProvider.get();

    injectionNodeBuilderRepository.putType(
        Context.class, injectionBindingBuilder.buildThis(Context.class));
    injectionNodeBuilderRepository.putType(
        android.app.Application.class,
        injectionBindingBuilder.buildThis((android.app.Application.class)));
    injectionNodeBuilderRepository.putType(
        ContextScopeHolder.class, injectionBindingBuilder.buildThis(ContextScopeHolder.class));

    variableBuilderRepositoryFactory.addApplicationInjections(injectionNodeBuilderRepository);

    variableBuilderRepositoryFactory.addModuleConfiguration(injectionNodeBuilderRepository);

    return injectionNodeBuilderRepository;
  }
 @Inject
 public InjectorGenerator(
     JCodeModel codeModel,
     InjectionFragmentGenerator injectionFragmentGenerator,
     ComponentBuilderFactory componentBuilderFactory,
     AnalysisContextFactory analysisContextFactory,
     InjectionNodeBuilderRepository injectionNodeBuilderRepository,
     InjectionNodeBuilderRepositoryFactory injectionNodeBuilderRepositoryFactory,
     InjectorRepositoryGenerator injectorRepositoryGenerator) {
   this.codeModel = codeModel;
   this.injectionFragmentGenerator = injectionFragmentGenerator;
   this.componentBuilderFactory = componentBuilderFactory;
   this.analysisContextFactory = analysisContextFactory;
   this.injectionNodeBuilderRepository = injectionNodeBuilderRepository;
   this.injectorRepositoryGenerator = injectorRepositoryGenerator;
   injectionNodeBuilderRepositoryFactory.addModuleConfiguration(
       this.injectionNodeBuilderRepository);
 }