boolean sendIntroduce(TorPublicKey permanentKey, byte[] publicKeyBytes, byte[] rendezvousCookie, Router rendezvousRouter) {
final RelayCell introduceCell = introductionCircuit.createRelayCell(RelayCell.RELAY_COMMAND_INTRODUCE1, 0, introductionCircuit.getFinalCircuitNode());
final byte[] payload = createIntroductionPayload(rendezvousRouter, publicKeyBytes, rendezvousCookie, permanentKey);
final TorPublicKey serviceKey = introductionPoint.getServiceKey();
introduceCell.putByteArray(serviceKey.getFingerprint().getRawBytes());
introduceCell.putByteArray(payload);
introductionCircuit.sendRelayCell(introduceCell);
final RelayCell response = introductionCircuit.receiveRelayCell();
if(response == null) {