class DefaultMutableMessages extends DefaultMessages implements MutableMessages {

    @Override
    public MutableMessages setMessageTemplate(String key, String messageTemplate, Locale locale) throws IOException {
        Optional<ResourceBundle> b = getBundle(locale);
        if (!b.isPresent()) {
            throw new IllegalStateException("bundle not found: " + getBaseName() + " - " + locale);
        }
        MutablePropertyResourceBundle bundle = (MutablePropertyResourceBundle) b.get();
        bundle.setMessageTemplate(key, messageTemplate);
        invalidateCachedKeysFor(locale);
        return this;
    }

    public  DefaultMutableMessages(String baseName);
    public  DefaultMutableMessages(String baseName, Charset charset);

}