AddressGeocodingSearchRequest(RequestID reqID, SearchQuery query,
            Comparator matchComparator, OneListSearchListener listener,
            MC2Interface mc2Ifc, CallbackHandler callHandler, SharedSystems systems) {
        if (reqID == null || query == null || matchComparator == null 
                || listener == null || mc2Ifc == null || callHandler == null 
                || systems == null) {
            throw new IllegalArgumentException();
        }
        if (query.getQueryType() != SearchQuery.SEARCH_TYPE_ADDRESS) {
            throw new IllegalArgumentException("Only queries created with " +
            		"SearchQuery.createAddressGeocodingQuery() are supported!");
        }
        m_reqID = reqID;
        m_query = query;
        m_matchComparator = matchComparator;
        m_listener = listener;
        m_mc2Ifc = mc2Ifc;
        m_callHandler = callHandler;
        m_systems = systems;
    }