@Override
    boolean processUnknowPacket(Element doc) {
        String tag = doc.getName();
        if ("route".equals(tag)) {
            // Process stanza wrapped by the route packet
            processRoute(new Route(doc));
            return true;
        } else if ("handshake".equals(tag)) {
            if (!((LocalConnectionMultiplexerSession) session).authenticate(doc.getStringValue())) {
                Log.debug( "Closing session that failed to authenticate: {}", session );
                session.close();
            }
            return true;
        } else if ("error".equals(tag) && "stream".equals(doc.getNamespacePrefix())) {
            Log.debug( "Closing session because of received stream error {}. Affected session: {}", doc.asXML(), session );
            session.close();
            return true;
        }
        return false;
    }
Process stanza sent by a client that is connected to a connection manager. The
original stanza is wrapped in the route element. Only a single stanza must be
wrapped in the route element.

@param packet the route element.
xmppserver/src/main/java/org/jivesoftware/openfire/net/MultiplexerStanzaHandler.java