code: func (f *lightFetcher) newHeaders(headers []*types.Header, tds []*big.Int) {
  	var maxTd *big.Int
  
  	for p, fp := range f.peers {
  		if !f.checkAnnouncedHeaders(fp, headers, tds) {
  			p.Log().Debug("Inconsistent announcement")
  			go f.pm.removePeer(p.id)
  		}
  		if fp.confirmedTd != nil && (maxTd == nil || maxTd.Cmp(fp.confirmedTd) > 0) {
  			maxTd = fp.confirmedTd
  		}
  	}
  
  	if maxTd != nil {
  		f.updateMaxConfirmedTd(maxTd)
  	}
  }
docs: // newHeaders updates the block trees of all active peers according to a newly
  // downloaded and validated batch or headers