public void removeHandler(IQHandler handler) {
        if (iqHandlers.contains(handler)) {
            throw new IllegalArgumentException("Cannot remove an IQHandler provided by the server");
        }
        // Unregister the handler as the handler of the namespace
        namespace2Handlers.remove(handler.getInfo().getNamespace());
    }
<p>Removes an IQHandler from the list of registered handler. The IQHandler to remove was
responsible for handling IQ packet whose namespace matches the namespace of the
IQHandler.</p>

An IllegalArgumentException may be thrown if the IQHandler to remove was already provided
by the server. The server provides a certain list of IQHandlers when the server is
started up.

@param handler the IQHandler to remove from the list of registered handler.
xmppserver/src/main/java/org/jivesoftware/openfire/IQRouter.java