public void updateMultiUserChatService(@Nonnull final String currentSubdomain, @Nonnull final String newSubdomain, @Nullable final String description) throws NotFoundException {
        final Long serviceID = getMultiUserChatServiceID(currentSubdomain);
        if (serviceID == null) {
            Log.info("Unable to find service to update for {}", currentSubdomain);
            throw new NotFoundException();
        }
        updateMultiUserChatService(serviceID, newSubdomain, description);
    }
Updates the configuration of a MUC service.

This is more involved than it may seem.

If the subdomain is changed, we need to shut down the old service and start up the new one, registering the new
subdomain and cleaning up the old one.

Properties are tied to the ID, which will not change.

@param currentSubdomain The current subdomain assigned to the service.
@param newSubdomain New subdomain to assign to the service.
@param description New description to assign to the service.
@throws NotFoundException if service was not found.
xmppserver/src/main/java/org/jivesoftware/openfire/muc/MultiUserChatManager.java