docs: @SuppressWarnings("unchecked")
  	public <U> List<U> getInstances(String name, Class<U> xface) {
  		List<U> ret = new ArrayList<U>();
  		Class<?>[] classes = getClasses(name);
  		for (Class<?> cl: classes) {
  			if (!xface.isAssignableFrom(cl)) {
  				throw new RuntimeException(cl + " does not implement " + xface);
  			}
  			ret.add((U)ReflectionUtils.newInstance(cl, this));
  		}
  		return ret;
  	}