@Override
    public void set(CompoundName key, Object value, Map<String,String> context) {
        // Note: The defaults here are never used
        try {
            setInternal(key, value, context);
        }
        catch (Exception e) { // Make sure error messages are informative. This should be moved out of this properties implementation
            if (e.getMessage() != null && e.getMessage().startsWith("Could not set"))
                throw e;
            else
                throw new IllegalInputException("Could not set '" + key + "' to '" + value + "'", e);
        }
    }
Maps between the query model and text properties.
This can be done simpler by using reflection but the performance penalty was not worth it,
especially since we should be conservative in adding things to the query model.

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