docs: public ByteBuffer startClientHandshake() throws GeneralSecurityException {
      Preconditions.checkState(!isFinished(), "Handshake has already finished.");
      HandshakerReq.Builder req = HandshakerReq.newBuilder();
      setStartClientFields(req);
      HandshakerResp resp;
      try {
        resp = handshakerStub.send(req.build());
      } catch (IOException | InterruptedException e) {
        throw new GeneralSecurityException(e);
      }
      handleResponse(resp);
      return resp.getOutFrames().asReadOnlyByteBuffer();
    }