### Question:
TrieStoreImpl implements TrieStore { @Override public Trie retrieve(byte[] hash) { this.retrieveCount++; byte[] message = this.store.get(hash); return TrieImpl.fromMessage(message, this); } TrieStoreImpl(KeyValueDataSource store); @Override void save(Trie trie); @Override int getSaveCount(); @Override Trie retrieve(byte[] hash); byte[] retrieveValue(byte[] hash); byte[] storeValue(byte[] key, byte[] value); @Override int getRetrieveCount(); @Override byte[] serialize(); KeyValueDataSource getDataSource(); static TrieStoreImpl deserialize(byte[] bytes); static TrieStoreImpl deserialize(byte[] bytes, int offset, int length, KeyValueDataSource ds);  }### Answer:
@Test public void retrieveUnknownHash() { HashMapDB map = new HashMapDB(); TrieStoreImpl store = new TrieStoreImpl(map); Assert.assertNull(store.retrieve(new byte[] { 0x01, 0x02, 0x03, 0x04 })); }