code: func NewIdentityMapper(mcs api.MessageCryptoService, selfIdentity api.PeerIdentityType, onPurge purgeTrigger, sa api.SecurityAdvisor) Mapper {
  	selfPKIID := mcs.GetPKIidOfCert(selfIdentity)
  	idMapper := &identityMapperImpl{
  		onPurge:    onPurge,
  		mcs:        mcs,
  		pkiID2Cert: make(map[string]*storedIdentity),
  		stopChan:   make(chan struct{}),
  		selfPKIID:  string(selfPKIID),
  		sa:         sa,
  	}
  	if err := idMapper.Put(selfPKIID, selfIdentity); err != nil {
  		panic(errors.Wrap(err, "Failed putting our own identity into the identity mapper"))
  	}
  	go idMapper.periodicalPurgeUnusedIdentities()
  	return idMapper
  }
docs: // NewIdentityMapper method, all we need is a reference to a MessageCryptoService