private Set<Class<?>> resolveAllCapabilityType(AnnotatedType<? extends Provider> type) {
        Set<Class<?>> res = new HashSet<Class<?>>();

        /*for (Class<?> c = type.getJavaClass(); c != Object.class && c != null; c = c.getSuperclass()) {
            if (Provider.class.isAssignableFrom(c))
                res.add(c);
        }*/
        for (Class<?> i : type.getJavaClass().getInterfaces()) {
            if (Capability.class.isAssignableFrom(i))
                res.add(i);
        }

        return res;

    }