### Question:
KeyWallet implements Wallet { public static KeyWallet load(Bytes privateKey) { Bytes publicKey = IconKeys.getPublicKey(privateKey); return new KeyWallet(privateKey, publicKey); } private  KeyWallet(Bytes privateKey, Bytes publicKey); static KeyWallet load(Bytes privateKey); static KeyWallet create(); static KeyWallet load(String password, File file); static String store(KeyWallet wallet, String password, File destinationDirectory); @Override Address getAddress(); @Override byte[] sign(byte[] data); Bytes getPrivateKey(); Bytes getPublicKey();  }### Answer:
@Test public void testLoadEtherKeyStore() throws IOException, KeystoreException { ObjectMapper mapper = new ObjectMapper(); String json = "{\"version\":3,\"id\":\"99208193-bc50-4733-8405-683b540023f7\",\"address\":\"278a5fabbd428e5f80e2119e8764960528f408e8\",\"Crypto\":{\"ciphertext\":\"f9c7c61029560dbf8983206af11e6f635fdcdd6b22ad69bdd4c7aa8c7c5bb6d4\",\"cipherparams\":{\"iv\":\"61991abea9255f9c5902a6867c01ffe6\"},\"cipher\":\"aes-128-ctr\",\"kdf\":\"scrypt\",\"kdfparams\":{\"dklen\":32,\"salt\":\"856b7e16ce3145793493df4a2086f17ee183c73bc17da35a09d2d79098a94fff\",\"n\":8192,\"r\":8,\"p\":1},\"mac\":\"205b94b85d661dc0173307b6b214534a121533d88cdcc1d93b2a366dd42ba589\"}}"; File file = new File(tempDir, "keystore.json"); TypeReference<Map<String, Object>> typeReference = new TypeReference<Map<String, Object>>() { }; Map<String, Object> map = mapper.readValue(json, typeReference); mapper.writeValue(file, map); assertThrows(InputMismatchException.class, () -> { KeyWallet.load(PASSWORD, file); }); }