class StringI18NModel implements I18NModel {

    @Override
    public String toString() {
        if (toStringCache == null) {
            final StringBuilder out = new StringBuilder();
            for (final Map.Entry<String, String> entry : values.entrySet()) {
                if (StringUtils.isNotBlank(entry.getValue())) {
                    out.append(entry.getKey()).append(SEPARATOR).append(entry.getValue()).append(SEPARATOR);
                }
            }
            toStringCache = out.toString();
        }
        return toStringCache;
    }

    public  StringI18NModel(final I18NModel values);
    public  StringI18NModel(final Map<String, String> values);
    public  StringI18NModel(final String raw);
    public  StringI18NModel();

}