static CIKey internCommonKey(final String key) {
        final CIKey ciKey;

        if (key == null) {
            // Not interning null, so just return null
            return null;
        } else {
            // Someone else may have already interned this key so check first
            final CIKey existingCIKey = KEY_TO_COMMON_CIKEY_MAP.get(key);
            if (existingCIKey != null) {
                // Already interned
                ciKey = existingCIKey;
            } else {
                if (key.isEmpty()) {
                    ciKey = CIKey.EMPTY_STRING;
                    addKey(ciKey);
                } else {
                    // Ensure we are using string pool instances for both
                    final String k = key.intern();
                    ciKey = new CIKey(k, CIKey.toLowerCase(k).intern());
                    addKey(ciKey);
                }
            }
        }
        return ciKey;
    }
Add key to the map of common keys for re-use.
<p>
Only intended for use on static and commonly used {@link CIKey} instances due to the cost of
string interning and storage.
</p>
stroom-util-shared/src/main/java/stroom/util/shared/string/CIKeys.java