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

        Object[] data = (Object[]) ev.get_data();
        if (data == null) {
            return;
        }

        String filename = (String) data[0];     // get file name
        Integer rcID = (Integer) data[1];       // get RC id
        int destination = -1;
        int event = 0;
        int eventSource = findEvent(waitingReplicaRequest_, filename);

        if (rcID.intValue() != -1)
        {
            data[1] = new Integer(eventSource);
            destination = rcID.intValue();
            event = DataGridTags.CTLG_GET_REPLICA;
        }
        else
        {
            destination = eventSource;
            event = DataGridTags.CTLG_REPLICA_DELIVERY;
        }

        super.send(super.output, GridSimTags.SCHEDULE_NOW, event,
                   new IO_data(data, DataGridTags.PKT_SIZE, destination) );
    }