docs: @SuppressWarnings("unused")
      @Internal
      @UsedByGeneratedCode
      protected final void indexProperty(@Nonnull Class<? extends Annotation> annotationType, @Nonnull String propertyName) {
          ArgumentUtils.requireNonNull("annotationType", annotationType);
          if (StringUtils.isNotEmpty(propertyName)) {
              final BeanProperty<T, Object> property = beanProperties.get(propertyName);
              if (property == null) {
                  throw new IllegalStateException("Invalid byte code generated during bean introspection. Call addProperty first!");
              }
              if (indexed == null) {
                  indexed = new HashMap<>(2);
              }
              final List<BeanProperty<T, Object>> indexed = this.indexed.computeIfAbsent(annotationType, aClass -> new ArrayList<>(2));
  
              indexed.add(property);
          }
      }