In MgnlMainFilter when the filter chain is reset to use the normal ui requests can enter the install/update -ui when it is being destroyed / has been destroyed and enter the normal filter chain before the init() methods have been called.
To fix it we need to fully initialize the new filter, swap the instances, and then destroy the previous instance.
Since the instance can be swapped while being used access to it should be synchronized. Should use the minimal amount of synchronization possible. Like a volatile field or java.util.concurrent.AtomicReference.