@Override
    public Set<String> keySet() {
        final Set<String> rtnSet = new HashSet<>();
        for (final CIString entry : map.keySet()) {
            rtnSet.add(entry.key);
        }
        return rtnSet;
    }
DOESN'T adhere to the contract of {@link Map#keySet()}, so any changes
to the returned {@link Set} will NOT affect this map.
stroom-meta/stroom-meta-api/src/main/java/stroom/meta/api/CIStringHashMap.java