@Override
    public void set(CompoundName name, Object value, Map<String, String> context) {
        if (RankFeatures.isFeatureName(name.toString())) {
            try {
                var expectedType = typeOf(name);
                if (expectedType != null && ! expectedType.declaredString()) {
                    value = tensorConverter.convertTo(expectedType.tensorType(),
                                                      name.last(),
                                                      value,
                                                      query.getModel().getLanguage(),
                                                      context,
                                                      query.properties());
                }
            }
            catch (IllegalArgumentException e) {
                throw new IllegalInputException("Could not set '" + name + "' to '" + value + "'", e);
            }
        }
        super.set(name, value, context);
    }
Verifies and converts properties according to any input declarations in the rank profile set on the query.

@author bratseth
container-search/src/main/java/com/yahoo/search/query/properties/RankProfileInputProperties.java