static Set<String> getConflictingFields(final SearchParameters form) {
        final Set<String> result = new HashSet<>();
        if (form.getAll() != null && form.getAll()) {
            if (form.getQ() != null && !form.getQ().isEmpty()) {
                // Mark 'all' and 'q' as conflict (but don't report any fields associated with 'q', to avoid confusion).
                result.add(VAR_ALL);
                result.add(VAR_Q);
            } else {
                // 'all' cannot be combined with fields that require 'q' (even if 'q' itself is not present).
                if (form.isSindescription() != null) {
                    result.add(VAR_ALL);
                    result.add(VAR_SINDESCRIPTION);
                }
                if (form.isSinname() != null) {
                    result.add(VAR_ALL);
                    result.add(VAR_SINNAME);
                }
                if (form.isSinaddr() != null) {
                    result.add(VAR_ALL);
                    result.add(VAR_SINADDRESS);
                }
            }
        }

        return result;
    }
Checks if the room may be included in search results. This is almost
identical to {@link MultiUserChatServiceImpl#canDiscoverRoom(MUCRoom, org.xmpp.packet.JID)},
but that method is private and cannot be re-used here.

@param room The room to check
@return ''true'' if the room may be included in search results, ''false''
otherwise.
xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/IQExtendedChannelSearchHandler.java