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

    public Map<String, String[]> toStringArrayMap() {
        HashMap<String, String[]> map = new HashMap<String, String[]>(size() * 3 / 2) {

            private static final long serialVersionUID = -6129887569971781626L;

            @Override
            public String toString() {
                StringBuilder b = new StringBuilder();
                b.append('{');
                for (String k : super.keySet()) {
                    if (b.length() > 1)
                        b.append(',');
                    b.append(k);
                    b.append('=');
                    b.append(Arrays.asList(super.get(k)));
                }

                b.append('}');
                return b.toString();
            }
        };

        for (Entry<String, List<V>> entry : entrySet()) {
            String[] a = null;
            if (entry.getValue() != null) {
                a = new String[entry.getValue().size()];
                a = entry.getValue().toArray(a);
            }
            map.put(entry.getKey(), a);
        }
        return map;
    }

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

}