def get_request_data(self, var_name, full_data=False):
        """
        :param var_name:
        :param full_data: If you want `.to_array()` with this data, ready to be sent.
        :return: A tuple of `to_array()` dict and the files (:py:func:`InputFile.get_request_files()`).
                 Files can be None, if no file was given, but an url or existing `file_id`.

                 If `self.media` is an `InputFile` however,
                 the first tuple element (either the string, or the dict's `['media']` if `full_data=True`),
                 will be set to `attach://{var_name}_media` automatically.
                 If `self.thumb` is an `InputFile` however, the first tuple element's `['thumb']`, will be set to `attach://{var_name}_thumb` automatically.
        """
        if not full_data:
            raise ArithmeticError('we have a thumbnail, please use `full_data=True`.')
        # end if
        file = {}
        data, file_to_add = super(InputMediaWithThumb, self).get_request_data(var_name, full_data=True)
        if file_to_add:
            file.update(file_to_add)
        # end if
        data['thumb'], file_to_add = self.get_inputfile_data(self.thumb, var_name, suffix='_thumb')
        if data['thumb'] is None:
            del data['thumb']  # having `'thumb': null` in the json produces errors.
        # end if
        if file_to_add:
            file.update(file_to_add)
        # end if
        return data, (file or None)