Writable ConfigurationSource

That’s what I thought but it’s not that big a change. First, it’s not going to break anything since it’s a new method and second we’re not going to implement it for all ConfigurationSource implementations (right now I’m planning to do it only for AbstractDocumentConfigurationSource). But yes it’s an API change.

Yes, Implementation that don’t support it will not implement the persistence methods:

    /**
     * @param properties the set of properties to persist
     * @throws ConfigurationSaveException when an error occurs during persistence
     * @since 12.4RC1
     */
    @Unstable
    default void setProperties(Map<String, Object> properties) throws ConfigurationSaveException
    {
        throw new UnsupportedOperationException("Set operation not supported");
    }

Exactly. It’ll just throw the UnsupportedOperationException from above. This is what I proposed/meant in item 8 of Replace concept of User in new User API, and more

Thanks