code: public static void inject(Injector.Configuration config) {
  
  		long millis = System.currentTimeMillis();
  
  		if(ProfileService.getInstance(config.getContext()).isActive(config.getContext(), Profile.INJECTION)) {
  		
  			ExplicitInjectors.CONFIGURATION.inject(config);
  			ExplicitInjectors.LAYOUT.inject(config);
  			
  			if(config.getInjectionMode().equals(InjectionMode.EXPLICIT)) {
  				
  				InjectionUtils.injectExplicitly(config);
  			}
  			else {
  				
  				InjectionUtils.injectImplicitly(config);
  			}
  		}
  		
  		millis = System.currentTimeMillis() - millis;
  		
  		Log.i("INSTRUMENTATION:IckleInjectionProfile#inject()", 
  				InjectionUtils.class.getClass().getSimpleName() + ": " + millis + "ms");
  	}
docs: <p>Drives the injection by executing the individual phases in the
  following order:</p>
  
  <ol>
  <li>Configuration Injection</li>
  <li>Layout Injection</li>
  <li>Application Injection</li>
  <li>Resource Injection</li>
  <li>System Service Injection</li>
  <li>Ickle Service Injection</li>
  <li>POJO Injection</li>
  </ol>