List<Field> getFieldsToEnrich() {
    return Util.allFields(getClass()).stream()
        // exclude anything generated by compiler
        .filter(field -> !field.isSynthetic())
        // and capabilities itself
        .filter(field -> !Objects.equals(field.getName(), "capabilities"))
        // and thisB helper field
        .filter(field -> !Objects.equals(field.getName(), "thisB"))
        // skip primitive types
        .filter(field -> !field.getType().isPrimitive())
        // skip enumerations
        .filter(field -> !field.getType().isEnum())
        .collect(Collectors.toList());
  }
Allows you to override how reflective dispatch works inside of Feign.
core/src/main/java/feign/BaseBuilder.java