private void processInquiryGlobalRC(Sim_event ev) {

        LinkedList regionalList = null; // regional data GIS list
        int eventTag = DataGridTags.INQUIRY_RC_LIST;
        boolean result = false;

        // for a first time request, it needs to call system GIS then
        // asks individual regional data GIS for its RC IDs.
        if (globalRCList_ == null) {

            // get regional GIS list from system GIS first
            regionalList = super.requestFromSystemGIS();

            // ask the list from each regional GIS
            result = super.getListFromOtherRegional(regionalList, eventTag);
            if (result)
            {
                globalRCList_ = new ArrayList();    // storing global RCs
                numRC_ = regionalList.size() - 1;   // excluding itself

                // then store the user ID
                Integer id = (Integer) ev.get_data();
                userList_ = new ArrayList();
                userList_.add(id);
                return;     // then exit
            }
        }

        // cache the request and store the user ID if it is already sent
        if (numRC_ > 0 && userList_ != null && userList_.size() > 0)
        {
            Integer id = (Integer) ev.get_data();
            userList_.add(id);
            return;     // then exit
        }

        // send the result back to sender, where the list could be empty
        result = sendListToSender(ev, globalRCList_);
        if (!result) {
            System.out.println(super.get_name() +
                ".processInquiryGlobalRC(): Warning - unable to send a " +
                "list of global RCs to sender.");
        }
    }