private void discoverDescriptor(final Preferences base, final Object bean, final AnnotatedElement element) { // base could be null assert bean != null; assert element != null; Preference pref = element.getAnnotation(Preference.class); if (pref != null) { log.trace("Discovered preference for: {}", element); PreferenceDescriptor desc = new PreferenceDescriptor(base, pref, SetterFactory.create(element, bean)); desc.setBasePath(getBasePath()); descriptors.add(desc); } }