private CircuitNode processCreatedFastCell(Router targetRouter, Cell cell, TorKeyAgreement kex) {
   final byte[] payload = new byte[TorMessageDigest.TOR_DIGEST_SIZE * 2];
   final byte[] keyMaterial = new byte[CircuitNodeCryptoState.KEY_MATERIAL_SIZE];
   final byte[] verifyHash = new byte[TorMessageDigest.TOR_DIGEST_SIZE];
   cell.getByteArray(payload);
   if (!kex.deriveKeysFromHandshakeResponse(payload, keyMaterial, verifyHash)) {
     // XXX
     return null;
   }
   final CircuitNode node = CircuitNodeImpl.createFirstHop(targetRouter, keyMaterial, verifyHash);
   circuit.appendNode(node);
   return node;
 }