private synchronized Hop getRecipient() {
        update();
        if (recipients.isEmpty()) {
            return null;
        }
        int offset = ++this.offset & Integer.MAX_VALUE; // mask signed bit because of modulo
        return new Hop(recipients.get(offset % recipients.size()));
    }
Returns the appropriate recipient hop. This method provides synchronized access to the internal mirror.

@return The recipient hop to use.
documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java