private Dependency createConfigurationDependency(DependencyManager dm, Bundle b, String pid, String callback, String[] configTypes, boolean propagate, boolean required) throws ClassNotFoundException { if (pid == null) { throw new IllegalArgumentException( "pid attribute not provided in ConfigurationDependency declaration"); } ConfigurationDependency cd = dm.createConfigurationDependency(); cd.setPid(pid); cd.setCallback(callback); cd.setPropagate(propagate, true /* configuration will override default service properties */); cd.setRequired(required); if (configTypes != null) { Class<?>[] configTypeClasses = new Class<?>[configTypes.length]; for (int i = 0; i < configTypes.length; i ++) { configTypeClasses[i] = b.loadClass(configTypes[i]); } cd.setConfigType(configTypeClasses); } return cd; }