code: def __ensure_message_length_multiple(bit_data, bit_len: int, pauses, bit_sample_pos, divisor: int):
          
          for i in range(len(bit_data)):
              missing_bits = (divisor - (len(bit_data[i]) % divisor)) % divisor
              if missing_bits > 0 and pauses[i] >= bit_len * missing_bits:
                  bit_data[i].extend([0] * missing_bits)
                  pauses[i] = pauses[i] - missing_bits * bit_len
  
                  try:
                      bit_sample_pos[i][-1] = bit_sample_pos[i][-2] + bit_len
                  except IndexError as e:
                      logger.warning("Error padding message " + str(e))
                      continue
  
                  bit_sample_pos[i].extend([bit_sample_pos[i][-1] + (k + 1) * bit_len for k in range(missing_bits - 1)])
                  bit_sample_pos[i].append(bit_sample_pos[i][-1] + pauses[i])
docs: In case of ASK modulation, this method tries to use pauses after messages as zero bits so that
          the bit lengths of messages are divisible by divisor
          :param bit_data: List of bit arrays
          :param bit_len: Bit length that was used for demodulation
          :param pauses: List of pauses
          :param bit_sample_pos: List of Array of bit sample positions
          :param divisor: Divisor the messages should be divisible by