code: func (h HostPortInfo) CheckConflict(ip, protocol string, port int32) bool {
  	if port <= 0 {
  		return false
  	}
  
  	h.sanitize(&ip, &protocol)
  
  	pp := NewProtocolPort(protocol, port)
  
  	// If ip is 0.0.0.0 check all IP's (protocol, port) pair
  	if ip == DefaultBindAllHostIP {
  		for _, m := range h {
  			if _, ok := m[*pp]; ok {
  				return true
  			}
  		}
  		return false
  	}
  
  	// If ip isn't 0.0.0.0, only check IP and 0.0.0.0's (protocol, port) pair
  	for _, key := range []string{DefaultBindAllHostIP, ip} {
  		if m, ok := h[key]; ok {
  			if _, ok2 := m[*pp]; ok2 {
  				return true
  			}
  		}
  	}
  
  	return false
  }
docs: // CheckConflict checks if the input (ip, protocol, port) conflicts with the existing
  // ones in HostPortInfo.