@Override
    public List<MethodMetadata> parseAndValidateMetadata(Class<?> targetType) {
      List<MethodMetadata> result = new Contract.Default().parseAndValidateMetadata(targetType);
      for (MethodMetadata md : result) {
        Map<Integer, Param.Expander> indexToExpander = new LinkedHashMap<>();
        for (Map.Entry<Integer, Class<? extends Param.Expander>> entry :
            md.indexToExpanderClass().entrySet()) {
          indexToExpander.put(entry.getKey(), beanFactory.getBean(entry.getValue()));
        }
        md.indexToExpander(indexToExpander);
      }
      return result;
    }
Injects {@link MethodMetadata#indexToExpander(Map)} via {@link BeanFactory#getBean(Class)}.
core/src/test/java/feign/ContractWithRuntimeInjectionTest.java