private synchronized void sendNetSearchRequest() {
    InternalDistributedMember nextResponder = nextAppropriateResponder();
    if (nextResponder != null) {
      // Make a request to the next responder in the queue
      RegionAttributes attrs = region.getAttributes();
      setSelectedNode(nextResponder);
      requestInProgress = true;
      remoteGetInProgress = true;
      NetSearchRequestMessage.sendMessage(this, regionName, key, nextResponder,
          remainingTimeout, attrs.getEntryTimeToLive().getTimeout(),
          attrs.getEntryIdleTimeout().getTimeout());

    } else {
      remoteGetInProgress = false;
      checkIfDone();

    }
  }
Return the next responder on the responseQueue, or null if empty
geode-core/src/main/java/org/apache/geode/internal/cache/SearchLoadAndWriteProcessor.java