@Override
	public Parcel toParcel(){
		
		if(peer == null){
			throw new PacketException("Cannot parcel a packet with a null source peer.");
		}
		
		if(magic == null){
			throw new PacketException("Cannot parcel a packet with a null magic byte array.");
		}
		
		Parcel parcel = new Parcel(getParcelSize());
	
		parcel.add(magic);
		parcel.add(version);
		parcel.add(type);
		parcel.add(peer);
		
		if(contents != null)
			parcel.add(contents);
		
		return parcel;
	}