code: func (nodes CheckServiceNodes) FilterIgnore(onlyPassing bool,
  	ignoreCheckIDs []types.CheckID) CheckServiceNodes {
  	n := len(nodes)
  OUTER:
  	for i := 0; i < n; i++ {
  		node := nodes[i]
  	INNER:
  		for _, check := range node.Checks {
  			for _, ignore := range ignoreCheckIDs {
  				if check.CheckID == ignore {
  					// Skip this _check_ but keep looking at other checks for this node.
  					continue INNER
  				}
  			}
  			if check.Status == api.HealthCritical ||
  				(onlyPassing && check.Status != api.HealthPassing) {
  				nodes[i], nodes[n-1] = nodes[n-1], CheckServiceNode{}
  				n--
  				i--
  				// Skip this _node_ now we've swapped it off the end of the list.
  				continue OUTER
  			}
  		}
  	}
  	return nodes[:n]
  }
docs: // FilterIgnore removes nodes that are failing health checks just like Filter.
  // It also ignores the status of any check with an ID present in ignoreCheckIDs
  // as if that check didn't exist. Note that this returns the filtered results
  // AND modifies the receiver for performance.