docs: private void createNewStore(NetworkParameters params) throws BlockStoreException {
          try {
              // Set up the genesis block. When we start out fresh, it is by
              // definition the top of the chain.
              StoredBlock storedGenesisHeader = new StoredBlock(params.getGenesisBlock().cloneAsHeader(), params.getGenesisBlock().getWork(), 0);
              // The coinbase in the genesis block is not spendable. This is because of how Bitcoin Core inits
              // its database - the genesis transaction isn't actually in the db so its spent flags can never be updated.
              List<Transaction> genesisTransactions = Lists.newLinkedList();
              StoredUndoableBlock storedGenesis = new StoredUndoableBlock(params.getGenesisBlock().getHash(), genesisTransactions);
              put(storedGenesisHeader, storedGenesis);
              setChainHead(storedGenesisHeader);
              setVerifiedChainHead(storedGenesisHeader);
          } catch (VerificationException e) {
              throw new RuntimeException(e); // Cannot happen.
          }
      }