code: @CheckReturnValue
      public MessageAction addFile(final byte[] data, final String name)
      {
          Checks.notNull(data, "Data");
          final long maxSize = getJDA().getSelfUser().getAllowedFileSize();
          Checks.check(data.length <= maxSize, "File may not exceed the maximum file length of %d bytes!", maxSize);
          return addFile(new ByteArrayInputStream(data), name);
      }
docs: Adds the provided byte[] as file data.
  
  <p>To reset all files use {@link #clearFiles()}
  
  @param  data
  The byte[] that will be interpreted as file data
  @param  name
  The file name that should be used to interpret the type of the given data
  using the file-name extension. This name is similar to what will be visible
  through {@link net.dv8tion.jda.core.entities.Message.Attachment#getFileName() Message.Attachment.getFileName()}
  
  @throws java.lang.IllegalStateException
  If the file limit of {@value Message#MAX_FILE_AMOUNT} has been reached prior to calling this method,
  or if this MessageAction will perform an edit operation on an existing Message (see {@link #isEdit()})
  @throws java.lang.IllegalArgumentException
  If the provided data is {@code null} or the provided name is blank or {@code null}
  or if the provided data exceeds the maximum file size of the currently logged in account
  @throws net.dv8tion.jda.core.exceptions.InsufficientPermissionException
  If this is targeting a TextChannel and the currently logged in account does not have
  {@link net.dv8tion.jda.core.Permission#MESSAGE_ATTACH_FILES Permission.MESSAGE_ATTACH_FILES}
  
  @return Updated MessageAction for chaining convenience
  
  @see    net.dv8tion.jda.core.entities.SelfUser#getAllowedFileSize() SelfUser.getAllowedFileSize()