public static Handshake craft(byte[] torrentInfoHash,
			byte[] clientPeerId, byte[] remotePeerId, boolean obfuscate) {
		if (Peer.isMagicPeerId(clientPeerId) && Peer.isMagicPeerId(remotePeerId) && obfuscate)
			return craft_obfuscated(torrentInfoHash, clientPeerId, remotePeerId, obfuscate);
		else
			return craft_standard(torrentInfoHash, clientPeerId);
	}