/** * Validates the arguments before calling <code>handleChange</code>. * If the service is null and the dependencies are satisfied, a service is * created and <code>handleChange</code> is not called. * @param dependencyName name of the dependency changed * @param dependency new dependency * @param dependencies all available dependencies */ @Override public synchronized void dependencyChanged( String dependencyName, Object dependency, Map<String,Object> dependencies) { if(dependencyName == null){ throw new NullPointerException(); } if(!validate(dependencyName, dependency)){ return; } myStaisfiedFlag = Validator.validateServices(myDescriptors, dependencies); if(myService == null && isSatisfied()){ myService = create(dependencies); return; } handleChange(dependencyName, dependency, dependencies); } /**