code: private boolean cancelRequestInternal(
      AORequestedTick requestedTick,
      boolean expiry)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(
          tc,
          "cancelRequestInternal",
          new Object[] { requestedTick, Boolean.valueOf(expiry)});
  
      // cancel the timer only if !expiry, since expiry implies timer has already occured.
      boolean transitionOccured = requestedTick.expire(!expiry);
      if (transitionOccured)
      { // successfully expired
        listOfRequests.remove(requestedTick);
        tableOfRequests.remove(requestedTick.objTick);
  
        // start the idle timer if no element left in listOfRequests
        // and set isready to false
        if (listOfRequests.isEmpty())
        {
          if (idleTimeout > 0)
            this.idleHandler = am.create(idleTimeout, this);
          if (isready)
          {
            isready = false;
            ck.notReady();
          }
        }
      } // end if (transitionOccured)
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "cancelRequestInternal", Boolean.valueOf(transitionOccured));
  
      return transitionOccured;
    }
docs: Should be called in a synchronized (this) block, and when !closed
  @param requestedTick
  @param expiry true if this is called due to expiry of the tick, else false
  @return true if this method transitioned the state of requestedTick, else false