code: private static DatagramPacket optionallyCopyData(DatagramPacket packet) {
  		if (packet != null) {
  			packet.setData(packet.getData().clone(), packet.getOffset(), packet.getLength());
  		}
  		return packet;
  	}
docs: Makes a copy of the data in the packet to make the packet safe to store for longer periods of time.
  
  <p>
  JDA changed to have only one backing array for all packets, to reduce allocations.
  This means that in JAPP code we have to copy the packet data before storing it for longer periods of time.
  </p>
  
  @param packet the packet to copy the data for
  @return the adjusted packet