class HARegionQueue implements RegionQueue {

  protected void addClientCQsAndInterestList(ClientUpdateMessageImpl msg,
      HAEventWrapper haEventWrapper, Map haContainer, String regionName) {

    ClientProxyMembershipID proxyID = ((HAContainerWrapper) haContainer).getProxyID(regionName);
    if (proxyID != null) {
      if (haEventWrapper.getClientCqs() != null) {
        CqNameToOp clientCQ = haEventWrapper.getClientCqs().get(proxyID);
        if (clientCQ != null) {
          msg.addClientCqs(proxyID, clientCQ);
        }
      }

      // This is a remote HAEventWrapper.
      // Add new Interested client lists.
      ClientUpdateMessageImpl clientMsg =
          (ClientUpdateMessageImpl) haEventWrapper.getClientUpdateMessage();
      if (clientMsg != null) {
        if (clientMsg.isClientInterestedInUpdates(proxyID)) {
          msg.addClientInterestList(proxyID, true);
        } else if (clientMsg.isClientInterestedInInvalidates(proxyID)) {
          msg.addClientInterestList(proxyID, false);
        }
      }
    }
  }

  protected  HARegionQueue(String regionName, InternalCache cache, Map haContainer,
      ClientProxyMembershipID clientProxyId, final byte clientConflation, boolean isPrimary,
      StatisticsClock statisticsClock);
  @VisibleForTesting  HARegionQueue(String regionName, HARegion haRegion, InternalCache cache, Map haContainer,
      ClientProxyMembershipID clientProxyId, final byte clientConflation, boolean isPrimary,
      HARegionQueueStats stats, StoppableReentrantReadWriteLock giiLock,
      StoppableReentrantReadWriteLock rwLock, CancelCriterion cancelCriterion,
      boolean puttingGIIDataInQueue, StatisticsClock statisticsClock);

}