private void processDeleteMaster(Sim_event ev)
    {
        if (ev == null) {
            return;
        }

        Object[] obj = (Object[]) ev.get_data();
        if (obj == null)
        {
            System.out.println(super.get_name() +
                    ".processDeleteMaster(): master file name is null");
            return;
        }

        String name = (String) obj[0];      // get file name
        Integer resID = (Integer) obj[1];   // get resource id

        int msg = DataGridTags.CTLG_DELETE_MASTER_SUCCESSFUL;
        try
        {
            ArrayList list = (ArrayList) catalogueHash_.get(name);
            if (list.size() != 1) {
                msg = DataGridTags.CTLG_DELETE_MASTER_REPLICAS_EXIST;
            }
            else if (list.remove(resID) == false) {
                msg = DataGridTags.CTLG_DELETE_MASTER_DOESNT_EXIST;
            }
            else {
                catalogueHash_.remove(name);    // remove from the catalogue
                attrHash_.remove(name);
            }
        }
        catch (Exception e) {
            msg = DataGridTags.CTLG_DELETE_MASTER_ERROR;
        }

        sendMessage(name, DataGridTags.CTLG_DELETE_MASTER_RESULT, msg,
                    resID.intValue() );
    }