### Question:
FileInputStreamCache { public synchronized void close() { if (closed) return; closed = true; IOUtils.cleanup(LOG, cacheCleaner); for (Iterator<Entry<Key, Value>> iter = map.entries().iterator(); iter.hasNext();) { Entry<Key, Value> entry = iter.next(); entry.getValue().close(); iter.remove(); } } FileInputStreamCache(int maxCacheSize, long expiryTimeMs); void put(DatanodeID datanodeID, ExtendedBlock block,
      FileInputStream fis[]); synchronized FileInputStream[] get(DatanodeID datanodeID,
      ExtendedBlock block); synchronized void close(); synchronized String toString(); long getExpiryTimeMs(); int getMaxCacheSize();  }### Answer:
@Test public void testCreateAndDestroy() throws Exception { FileInputStreamCache cache = new FileInputStreamCache(10, 1000); cache.close(); }