code: static LedgerHandle create(BookKeeper bookKeeper, BookKeeperConfig config) throws DurableDataLogException {
          try {
              return Exceptions.handleInterruptedCall(() ->
                      bookKeeper.createLedger(
                              config.getBkEnsembleSize(),
                              config.getBkWriteQuorumSize(),
                              config.getBkAckQuorumSize(),
                              LEDGER_DIGEST_TYPE,
                              config.getBKPassword()));
          } catch (BKException.BKNotEnoughBookiesException bkEx) {
              throw new DataLogNotAvailableException("Unable to create new BookKeeper Ledger.", bkEx);
          } catch (BKException bkEx) {
              throw new DurableDataLogException("Unable to create new BookKeeper Ledger.", bkEx);
          }
      }
docs: Creates a new Ledger in BookKeeper.
  
  @return A LedgerHandle for the new ledger.
  @throws DataLogNotAvailableException If BookKeeper is unavailable or the ledger could not be created because an
  insufficient number of Bookies are available. The causing exception is wrapped
  inside it.
  @throws DurableDataLogException      If another exception occurred. The causing exception is wrapped inside it.