code: func (c *networkConfiguration) Conflicts(o *networkConfiguration) error {
  	if o == nil {
  		return errors.New("same configuration")
  	}
  
  	// Also empty, because only one network with empty name is allowed
  	if c.BridgeName == o.BridgeName {
  		return errors.New("networks have same bridge name")
  	}
  
  	// They must be in different subnets
  	if (c.AddressIPv4 != nil && o.AddressIPv4 != nil) &&
  		(c.AddressIPv4.Contains(o.AddressIPv4.IP) || o.AddressIPv4.Contains(c.AddressIPv4.IP)) {
  		return errors.New("networks have overlapping IPv4")
  	}
  
  	// They must be in different v6 subnets
  	if (c.AddressIPv6 != nil && o.AddressIPv6 != nil) &&
  		(c.AddressIPv6.Contains(o.AddressIPv6.IP) || o.AddressIPv6.Contains(c.AddressIPv6.IP)) {
  		return errors.New("networks have overlapping IPv6")
  	}
  
  	return nil
  }
docs: // Conflicts check if two NetworkConfiguration objects overlap