class SetMap extends HashMap<T, Set<V>> {

    public Set<V> putValue( T key, V value )
    {
        Set<V> set = this.get( key );
        set = set == null ? new HashSet<>() : set;
        set.add( value );
        return super.put( key, set );
    }

    public  SetMap();
    public  SetMap( SetMap<T, V> setMap );

}