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; }