code: public <T extends Client> int getSize(T client) {
          Cipher encryption;
          
          if (client == null || (encryption = client.getEncryption()) == null) {
              return queue.stream().mapToInt(array -> array.length).sum();
          }
          
          int blockSize = encryption.getBlockSize();
          
          return queue.stream().mapToInt(array -> Utility.roundUpToNextMultiple(array.length, blockSize)).sum();
      }
docs: Gets the size of this {@link Packet}'s payload in bytes, while taking the specified {@link Client}'s
  encryption into account, as a {@link Cipher}'s padding may increase the size of this {@link Packet}.
  
  @param client The {@link Client} that this {@link Packet} will be sent to.
  @return The current size of this {@link Packet} in bytes.