docs: private <T> InternalProviderImpl<? extends T> getInternalProvider(Class<T> clazz, String bindingName, boolean isBound) {
      if (bindingName == null) {
        if (isBound) {
          synchronized (mapClassesToUnNamedBoundProviders) {
            return mapClassesToUnNamedBoundProviders.get(clazz);
          }
        } else {
          synchronized (mapClassesToUnNamedUnBoundProviders) {
            return mapClassesToUnNamedUnBoundProviders.get(clazz);
          }
        }
      } else {
        synchronized (mapClassesToNamedBoundProviders) {
          Map<String, InternalProviderImpl> mapNameToProvider = mapClassesToNamedBoundProviders.get(clazz);
          if (mapNameToProvider == null) {
            return null;
          }
          return mapNameToProvider.get(bindingName);
        }
      }
    }