code: func NewCONNACKFromBytes(fixedHeader FixedHeader, variableHeader []byte) (Packet, error) {
  	// Validate the byte data.
  	if err := validateCONNACKBytes(fixedHeader, variableHeader); err != nil {
  		return nil, err
  	}
  
  	// Create a CONNACK Packet.
  	p := &CONNACK{
  		sessionPresent:    variableHeader[0]<<7 == 0x80,
  		connectReturnCode: variableHeader[1],
  	}
  
  	// Set the fixed header to the Packet.
  	p.fixedHeader = fixedHeader
  
  	// Set the variable header to the Packet.
  	p.variableHeader = variableHeader
  
  	// Return the Packet.
  	return p, nil
  }
docs: // NewCONNACKFromBytes creates the CONNACK Packet
  // from the byte data and returns it.