public void registerDependencies(Class<?>[] serviceClasses, Filter[] filters) {

    synchronized (_serviceDependencies) {
      doRegisterDependencies(serviceClasses);

      doRegisterDependencies(filters);

      for (ServiceDependency serviceDependency : _serviceDependencies) {
        serviceDependency.open();
      }
    }
  }
  public void registerDependencies(
      Collection<Class<?>> serviceClasses, Collection<Filter> filters) {

    synchronized (_serviceDependencies) {
      doRegisterDependencies(serviceClasses.toArray(new Class<?>[serviceClasses.size()]));

      doRegisterDependencies(filters.toArray(new Filter[filters.size()]));

      for (ServiceDependency serviceDependency : _serviceDependencies) {
        serviceDependency.open();
      }
    }
  }
  public void registerDependencies(Filter... filters) {
    synchronized (_serviceDependencies) {
      doRegisterDependencies(filters);

      for (ServiceDependency serviceDependency : _serviceDependencies) {
        serviceDependency.open();
      }
    }
  }
  public void registerDependencies(Class<?>... serviceClasses) {
    synchronized (_serviceDependencies) {
      doRegisterDependencies(serviceClasses);

      for (ServiceDependency serviceDependency : _serviceDependencies) {
        serviceDependency.open();
      }
    }
  }