@Override
  public boolean equals(Object obj) {
    if (this == obj) {
      return true;
    }
    if (obj == null) {
      return false;
    }
    if (getClass() != obj.getClass()) {
      return false;
    }
    FindCoordinatorResponse other = (FindCoordinatorResponse) obj;
    if (coordinator == null) {
      if (other.coordinator != null) {
        return false;
      }
    } else if (!coordinator.equals(other.coordinator)) {
      return false;
    }
    if (!Arrays.equals(coordinatorPublicKey, other.coordinatorPublicKey)) {
      return false;
    }
    if (fromView != other.fromView) {
      return false;
    }
    if (isShortForm != other.isShortForm) {
      return false;
    }
    if (networkPartitionDetectionEnabled != other.networkPartitionDetectionEnabled) {
      return false;
    }
    if (registrants == null) {
      if (other.registrants != null) {
        return false;
      }
    } else if (!registrants.equals(other.registrants)) {
      return false;
    }
    // as we are not sending requestId as part of FinDCoordinator resposne
    /*
     * if (requestId != other.requestId) return false;
     */
    if (senderId == null) {
      if (other.senderId != null) {
        return false;
      }
    } else if (!senderId.equals(other.senderId)) {
      return false;
    }
    if (usePreferredCoordinators != other.usePreferredCoordinators) {
      return false;
    }
    if (view == null) {
      return other.view == null;
    } else
      return view.equals(other.view);
  }
When the response comes from a locator via TcpClient this will return the locators member ID.
If the locator hasn't yet joined this may be null.
geode-membership/src/main/java/org/apache/geode/distributed/internal/membership/gms/locator/FindCoordinatorResponse.java