/** * Removes all petite beans of provided type. Type is not resolved for name! * Instead, all beans are iterated and only beans with equal types are removed. * @see #removeBean(String) */ public void removeBean(Class type) { // collect bean names Set<String> beanNames = new HashSet<String>(); Iterator<BeanDefinition> it = beansIterator(); while (it.hasNext()) { BeanDefinition def = it.next(); if (def.type.equals(type)) { beanNames.add(def.name); } } // remove collected bean names for (String beanName : beanNames) { removeBean(beanName); } }