class KeyStoreImpl implements KeyStore {

    @Override
    public void deleteAccount(String publicAddress) throws DeleteAccountException {
        JSONObject json = new JSONObject();
        try {
            JSONArray jsonArray = loadJsonArray();
            if (jsonArray != null) {
                JSONArray newJsonArray = new JSONArray();
                for (int i = 0; i < jsonArray.length(); i++) {
                    Object account = jsonArray.get(i);
                    if (!((JSONObject) account).get(JSON_KEY_PUBLIC_KEY).equals(publicAddress)) {
                        newJsonArray.put(account);
                    }
                }
                json.put(JSON_KEY_ACCOUNTS_ARRAY, newJsonArray);
            }
        } catch (JSONException e) {
            throw new DeleteAccountException(e);
        }
        store.saveString(STORE_KEY_ACCOUNTS, json.toString());
    }

      KeyStoreImpl(@NonNull Store store, @NonNull BackupRestore backupRestore);

}