class MultiMap extends HashMap<String, List<V>> {

    public boolean removeValue(String name, V value) {
        List<V> lo = get(name);
        if ((lo == null) || (lo.isEmpty())) {
            return false;
        }
        boolean ret = lo.remove(value);
        if (lo.isEmpty()) {
            remove(name);
        } else {
            put(name, lo);
        }
        return ret;
    }

    public  MultiMap();
    public  MultiMap(Map<String, List<V>> map);
    public  MultiMap(MultiMap<V> map);

}