code: func OpenLedger(id string) (ledger.PeerLedger, error) {
  	logger.Infof("Opening ledger with id = %s", id)
  	lock.Lock()
  	defer lock.Unlock()
  	if !initialized {
  		return nil, ErrLedgerMgmtNotInitialized
  	}
  	l, ok := openedLedgers[id]
  	if ok {
  		return nil, ErrLedgerAlreadyOpened
  	}
  	l, err := ledgerProvider.Open(id)
  	if err != nil {
  		return nil, err
  	}
  	l = wrapLedger(id, l)
  	openedLedgers[id] = l
  	logger.Infof("Opened ledger with id = %s", id)
  	return l, nil
  }
docs: // OpenLedger returns a ledger for the given id