void validateAsynchronousEventDispatcher(String asyncDispatcherId) {
    for (GatewaySender sender : getCache().getAllGatewaySenders()) {
      if (sender.isParallel() && sender.getId().equals(asyncDispatcherId)) {
        // Once decided to support REPLICATED regions with parallel
        // gateway-sender/asynchronous-event-queue, ShadowPartitionedRegionForUserRR should be
        // called and this validation should be removed.
        if (sender.getId().contains(AsyncEventQueueImpl.ASYNC_EVENT_QUEUE_PREFIX)) {
          throw new AsyncEventQueueConfigurationException(String.format(
              "Parallel Async Event Queue %s can not be used with replicated region %s",
              getAsyncEventQueueIdFromSenderId(sender.getId()), getFullPath()));
        } else {
          throw new GatewaySenderConfigurationException(
              String.format("Parallel Gateway Sender %s can not be used with replicated region %s",
                  sender.getId(), getFullPath()));
        }
      }
    }
  }
Validates that the GatewaySender/AsyncEventQueue referenced by the {@param asyncDispatcherId}
can be attached to this region; that is, verifies that the dispatcher is not configured as
parallel.

@param asyncDispatcherId Id of the AsynchronousEventDispatcher to validate.
geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java