### Question:
SimpleStoreImpl implements SimpleStore { @Override public ListenableFuture<byte[]> get(String key) { requireOpen(); return Futures.submitAsync( () -> { Exception isDead = isDead(); if (isDead != null) { return Futures.immediateFailedFuture(isDead); } byte[] value; if (cache.containsKey(key)) { value = cache.get(key); } else { try { value = readFile(key); } catch (IOException e) { return Futures.immediateFailedFuture(e); } if (value == null || value.length == 0) { value = EMPTY_BYTES; } cache.put(key, value); } return Futures.immediateFuture(value); }, orderedIoExecutor); } SimpleStoreImpl(DirectoryProvider directoryProvider, String namespace, NamespaceConfig config); @Override ListenableFuture<String> getString(String key); @Override ListenableFuture<String> putString(String key, @Nullable String value); @Override ListenableFuture<byte[]> get(String key); @Override ListenableFuture<byte[]> put(String key, @Nullable byte[] value); @Override ListenableFuture<Boolean> contains(String key); @Override ListenableFuture<Void> remove(String key); @Override ListenableFuture<Void> clear(); @Override ListenableFuture<Void> deleteAllNow(); @Override void close();  }### Answer:
@Test public void zeroLengthWhenMissing() throws Exception { try (SimpleStore store = SimpleStoreFactory.create(directoryProvider, "")) { ListenableFuture<byte[]> future = store.get(TEST_KEY); assertThat(future.get()).hasLength(0); } }