@Override
    public MapFieldValue clone() {
        MapFieldValue copy = (MapFieldValue) super.clone();
        copy.values = new HashMap<K, V>(values.size());
        for (Map.Entry<K, V> entry : values.entrySet()) {
            copy.values.put(entry.getKey().clone(), entry.getValue().clone());
        }
        return copy;
    }
Vespa map. Backed by and parametrized by FieldValue

@author vegardh
document/src/main/java/com/yahoo/document/datatypes/MapFieldValue.java