docs: public InputStream retrieveAttachment(SignalServiceAttachmentPointer pointer, File destination, int maxSizeBytes, ProgressListener listener)
        throws IOException, InvalidMessageException
    {
      if (!pointer.getDigest().isPresent()) throw new InvalidMessageException("No attachment digest!");
  
      socket.retrieveAttachment(pointer.getId(), destination, maxSizeBytes, listener);
      return AttachmentCipherInputStream.createFor(destination, pointer.getSize().or(0), pointer.getKey(), pointer.getDigest().get());
    }