docs: public ConstantField createConstantField(Class<?> container, String field, Constant annot)
              throws ConstantException {
          Class<?> type;
  
          try {
              type = container.getField(field).getType();
          } catch (NoSuchFieldException e) {
              throw new ConstantException("Cannot find constant " + annot.name()
                      + " (" + container.getSimpleName() + "." + field + ")", e);
          }
  
          for (ConstantFieldProvider provider : providers) {
              if (provider.canProvide(type))
                  return provider.getField(type, container, field, annot);
          }
  
          throw new ConstantException("No provider found for " + annot.name()
                  + " of type " + type.getSimpleName());
      }