code: func (c *Gcd) GetNewTargets(knownIds map[string]struct{}) ([]*ChromeTarget, error) {
  	connectableTargets, err := c.getConnectableTargets()
  	if err != nil {
  		return nil, err
  	}
  
  	chromeTargets := make([]*ChromeTarget, 0)
  	for _, v := range connectableTargets {
  		if _, ok := knownIds[v.Id]; !ok {
  			target, err := openChromeTarget(c.addr, v)
  			if err != nil {
  				return nil, err
  			}
  			chromeTargets = append(chromeTargets, target)
  		}
  	}
  	return chromeTargets, nil
  }
docs: // GetNewTargets gets a list of current tabs and creates new chrome targets returning a list
  // provided they weren't in the knownIds list. Note it is an error to attempt
  // to create a new chrome target from one that already exists.