code: void notifyReferenced(Provider provider, T instance) {
          notifyInstanceCreationWhenNeeded();
  
          if (referencedListeners != null) {
              int len = referencedListeners.size();
              for(int i = 0; i < len; i++) {
                  referencedListeners.get(i).onReferenced(provider, instance);
              }
          }
      }
docs: Notify the instance with the given type is <b>FULLY</b> injected which means all of its
  nested injectable fields are injected and ready <b>RECURSIVELY</b>.
  <p>This method should get called every time the instance is injected, no matter if it's a
  newly created instance or it's a reused cached instance.</p>
  
  @param instance The instance. Its own injectable members should have been injected recursively as well.