private void checkExpiryTime()
    {
        long currentTime = super.getCurrentTime();   // get current time
        ARObject obj = null;

        try
        {
            long endTime = 0;

            // a loop that checks a reservation has been committed before the
            // expiry time or not
            for (int i = 0; i < reservList_.size(); i++)
            {
                if (reservList_.size() == 0) {
                    break;
                }

                obj = (ARObject) reservList_.get(i);

                // check for expiry time
                if (obj.hasCommitted() == false &&
                    obj.getExpiryTime() <= currentTime)
                {
                    obj.setStatus(GridSimTags.AR_STATUS_EXPIRED);
                    expiryList_.add(obj);
                    reservList_.remove(obj);
                    continue;
                }

                // if no Gridlets executed or time has already gone
                // then remove it from the list
                endTime = obj.getStartTime()+(obj.getDurationTime()*MILLI_SEC);
                if (obj.getTotalGridlet() == 0 && endTime <= currentTime)
                {
                    obj.setStatus(GridSimTags.AR_STATUS_COMPLETED);
                    expiryList_.add(obj);
                    reservList_.remove(obj);
                    continue;
                }
            }
        }
        catch (Exception e) {
            // ....
        }
    }