AnnotationDriver bubbles up parent classes to combine pattern, find conditions and bindings
bindings will only be injected if the value is not null, so one can use default values
AnnotationDriver bubbles up parent classes correctly for conditions