public AnalyzerConfigBuilder putLookup(String name, Map<String, String> values) {
            Map<String, String> existing = analyzerConfig.lookups.get(name);
            if (existing == null) {
                analyzerConfig.lookups.put(name, values);
            } else {
                // Perhaps we are overwriting an existing value
                // So we must do one by one and fail if already there
                for (Map.Entry<String, String> valueEntry : values.entrySet()) {
                    String existingValue = existing.get(valueEntry.getKey());
                    if (existingValue != null) {
                        if (existingValue.equals(valueEntry.getValue())) {
                            continue; // Ignore this one.
                        }
                        throw new InvalidParserConfigurationException(
                            "For lookup \"" + name + "\" a multiple different values for " +
                                "the key \"" + valueEntry.getKey() + "\" were found from " +
                                "separate definitions of this lookup.");
                    }
                    existing.put(valueEntry.getKey(), valueEntry.getValue());
                }
            }
            return this;
        }
Store the keys and values.

@param name   The name of the lookup
@param values The additional keys and values for this lookup.
analyzer/src/main/java/nl/basjes/parse/useragent/config/AnalyzerConfig.java