private void injectDynamically(){
  injectionRequestProcessor.injectMembers();
  stopwatch.resetAndLog("Static member injection");
  initializer.injectAll(errors);
  stopwatch.resetAndLog("Instance injection");
  errors.throwCreationExceptionIfErrorsExist();
  for (  InjectorShell shell : shells) {
    loadEagerSingletons(shell.getInjector(),stage,errors);
  }
  stopwatch.resetAndLog("Preloading singletons");
  errors.throwCreationExceptionIfErrorsExist();
}

private void injectDynamically ( ) { injectionRequestProcessor . injectMembers ( ) ; stopwatch . resetAndLog ( "Static member injection" ) ; initializer . injectAll ( errors ) ; stopwatch . resetAndLog ( "Instance injection" ) ; errors . throwCreationExceptionIfErrorsExist ( ) ; for ( InjectorShell shell : shells ) { loadEagerSingletons ( shell . getInjector ( ) , stage , errors ) ; } stopwatch . resetAndLog ( "Preloading singletons" ) ; errors . throwCreationExceptionIfErrorsExist ( ) ; }
inject everything that can be injected . this method is intentionally not synchronized . if we locked while injecting members ( ie . running user code ) , things would deadlock should the user code build a just - in - time binding from another thread .
