protected void consumeValue(String key) {
        // find the next comma or bracket, whichever is next
        int endOfValue=findEndOfValue();
        if (endOfValue<0) {
            throw new IllegalArgumentException("Expected a value followed by ',' or '}' " + s.at());
        }
        try {
            handleKeyValue(key, s.substring(endOfValue));
            s.setPosition(endOfValue);
        }
        catch (IllegalArgumentException e) {
            throw new IllegalArgumentException("Expected a legal value from position " + s.position() + " to " + endOfValue +
                    " but was '" + s.substring(endOfValue) + "'", e);
        }
    }
Parses a map on the form <code>{key1:value1,key2:value2 ...}</code>

@param string the textual representation of the map
vespajlib/src/main/java/com/yahoo/text/SimpleMapParser.java