code: private <T> void addProvider(@NotNull Provider<T> provider)
              throws ProviderConflictException {
          Class<T> type = provider.type();
          Annotation qualifier = provider.getQualifier();
          String key = PokeHelper.makeProviderKey(type, qualifier);
  
          addNewKeyToComponent(key, this);
  
          provider.setComponent(this);
          providers.put(key, provider);
      }
docs: Add provider to this component and notify the root component this component is
  managing the provider.
  @param provider The adding provider
  @throws ProviderConflictException Thrown when a provider bound to same type and qualifier is
  added in the component tree that this component is in.