class BindingConditions {

    public static <T> BindingCondition<T> qualifierIs(Class<? extends T> type, final Class<? extends Annotation> expectedQualifier) {
        return new BindingCondition<T>() {
            
            @Override
            public boolean fulfilled(ClassInjector injector, Class<T> type, Map<String, Class<? extends T>[]> inheritanceTree, Annotation qualifier,
                    ClassLoader classLoader) {
                return qualifier != null && expectedQualifier.isAssignableFrom(qualifier.annotationType());
            }
            
        };
    }

}