docs: public List<Set<FieldInjectionPoint<?, ?>>> getFieldInjectionPoints(Bean<?> declaringBean, EnhancedAnnotatedType<?> type,
              BeanManagerImpl manager) {
          List<Set<FieldInjectionPoint<?, ?>>> injectableFieldsList = new ArrayList<Set<FieldInjectionPoint<?, ?>>>();
  
          if (type.slim() instanceof UnbackedAnnotatedType<?>) {
              // external AnnotatedTypes require special treatment
              Collection<EnhancedAnnotatedField<?, ?>> allFields = type.getEnhancedFields(Inject.class);
  
              for (Class<?> clazz = type.getJavaClass(); clazz != null && clazz != Object.class; clazz = clazz.getSuperclass()) {
                  ImmutableSet.Builder<FieldInjectionPoint<?, ?>> fields = ImmutableSet.builder();
                  for (EnhancedAnnotatedField<?, ?> field : allFields) {
                      if (!field.isStatic() && field.getJavaMember().getDeclaringClass().equals(clazz)) {
                          addFieldInjectionPoint(field, fields, declaringBean, type.getJavaClass(), manager);
                      }
                  }
                  injectableFieldsList.add(0, fields.build());
              }
          } else {
              for (EnhancedAnnotatedType<?> t = type; t != null && !t.getJavaClass().equals(Object.class); t = t
                      .getEnhancedSuperclass()) {
                  ImmutableSet.Builder<FieldInjectionPoint<?, ?>> fields = ImmutableSet.builder();
                  for (EnhancedAnnotatedField<?, ?> annotatedField : t.getDeclaredEnhancedFields(Inject.class)) {
                      if (!annotatedField.isStatic()) {
                          addFieldInjectionPoint(annotatedField, fields, declaringBean, t.getJavaClass(), manager);
                      }
                  }
                  injectableFieldsList.add(0, fields.build());
              }
          }
          return ImmutableList.copyOf(injectableFieldsList);
      }