code: func (p *PortBinding) Equal(o *PortBinding) bool {
  	if p == o {
  		return true
  	}
  
  	if o == nil {
  		return false
  	}
  
  	if p.Proto != o.Proto || p.Port != o.Port ||
  		p.HostPort != o.HostPort || p.HostPortEnd != o.HostPortEnd {
  		return false
  	}
  
  	if p.IP != nil {
  		if !p.IP.Equal(o.IP) {
  			return false
  		}
  	} else {
  		if o.IP != nil {
  			return false
  		}
  	}
  
  	if p.HostIP != nil {
  		if !p.HostIP.Equal(o.HostIP) {
  			return false
  		}
  	} else {
  		if o.HostIP != nil {
  			return false
  		}
  	}
  
  	return true
  }
docs: // Equal checks if this instance of PortBinding is equal to the passed one