code: public void inject(Object toInject, Class<?> toHandle) {
          synchronized (listeners) {
              Collection<BundleAnalysingComponentInstantiationListener> values = listeners.values();
              for (BundleAnalysingComponentInstantiationListener analyser : values) {
                  if (analyser.injectionPossible(toHandle)) {
                      analyser.inject(toInject, toHandle);
                      return;
                  }
              }
          }
          throw new IllegalStateException("no source for injection found");
      }
docs: {@inheritDoc}