docs: def terminate_bits(self, payload):
          """This method adds zeros to the end of the encoded data so that the
          encoded data is of the correct length. It returns a binary string
          containing the bits to be added.
          """
          data_capacity = tables.data_capacity[self.version][self.error][0]
  
          if len(payload) > data_capacity:
              raise ValueError('The supplied data will not fit '
                               'within this version of a QR code.')
  
          #We must add up to 4 zeros to make up for any shortfall in the
          #length of the data field.
          if len(payload) == data_capacity:
              return None
          elif len(payload) <= data_capacity-4:
              bits = self.binary_string(0,4)
          else:
              #Make up any shortfall need with less than 4 zeros
              bits = self.binary_string(0, data_capacity - len(payload))
  
          return bits