private void initDependencyManagers() {
    if (m_dependencyManagersInitialized) {
      return;
    }
    final Bundle bundle = getBundle();
    if (bundle == null) {
      log(
          LogService.LOG_ERROR,
          "bundle shut down while trying to load implementation object class",
          null);
      throw new IllegalStateException(
          "bundle shut down while trying to load implementation object class");
    }
    Class<?> implementationObjectClass;
    try {
      implementationObjectClass =
          bundle.loadClass(getComponentMetadata().getImplementationClassName());
    } catch (ClassNotFoundException e) {
      log(LogService.LOG_ERROR, "Could not load implementation object class", e);
      throw new IllegalStateException("Could not load implementation object class");
    }
    m_componentMethods.initComponentMethods(m_componentMetadata, implementationObjectClass);

    for (DependencyManager dependencyManager : m_dependencyManagers) {
      dependencyManager.initBindingMethods(
          m_componentMethods.getBindMethods(dependencyManager.getName()));
    }
    m_dependencyManagersInitialized = true;
  }