### Question:
BlockStore { public synchronized void saveHeader(@Nonnull final BlockHeader header) { this.headers.put(header.getHash(), header); }  synchronized void saveBlock(Block block); synchronized void removeBlock(Block block); synchronized Block getBlockByHash(byte[] hash); synchronized List<Block> getBlocksByNumber(long number); synchronized List<Block> getBlocksByParentHash(Keccak256 hash); List<Block> getChildrenOf(Set<Block> blocks); synchronized boolean hasBlock(Block block); synchronized boolean hasBlock(byte[] hash); synchronized int size(); synchronized long minimalHeight(); synchronized long maximumHeight(); synchronized void releaseRange(long from, long to); synchronized boolean hasHeader(Keccak256 hash); synchronized void saveHeader(@Nonnull final BlockHeader header); synchronized void removeHeader(@Nonnull final BlockHeader header);  }### Answer:
@Test public void saveHeader() { BlockStore store = new BlockStore(); BlockHeader blockHeader = new BlockHeader(new byte[]{}, new byte[]{}, UscAddress.nullAddress().getBytes(), new Bloom().getData(), new byte[]{}, 1, new byte[]{}, 0, 0, new byte[]{}, new byte[]{}, new byte[]{}, new byte[]{}, new byte[]{}, 0 ); store.saveHeader(blockHeader); Assert.assertTrue(store.hasHeader(blockHeader.getHash())); }