docs: def tokenize(self):
          """Tokenizes all multiword names in the list of Units.
  
          Modifies:
              - (indirectly) self.unit_list, by combining words into compound words.
  
          This is done because many names may be composed of multiple words, e.g.,
          'grizzly bear'. In order to count the number of permissible words
          generated, and also to compute semantic relatedness between these
          multiword names and other names, multiword names must each be reduced to
          a respective single token.
          """
          if not self.quiet:
              print
              print "Finding compound words..."
  
          # lists of animal names containing 2-5 separate words
          compound_word_dict = {}
          for compound_length in range(5,1,-1):
              compound_word_dict[compound_length] = [name for name in self.names if len(name.split()) == compound_length]
  
          current_index = 0
          finished = False
          while not finished:
              for compound_length in range(5,1,-1): #[5, 4, 3, 2]
                  if current_index + compound_length - 1 < len(self.unit_list): #don't want to overstep bounds of the list
                      compound_word = ""
                      #create compound word
                      for word in self.unit_list[current_index:current_index + compound_length]:
                          compound_word += " " + word.text
                      compound_word = compound_word.strip() # remove initial white space
                      #check if compound word is in list
                      if compound_word in compound_word_dict[compound_length]:
                          #if so, create the compound word
                          self.make_compound_word(start_index = current_index, how_many = compound_length)
                          current_index += 1
                          break
              else: #if no breaks for any number of words
                  current_index += 1
                  if current_index >= len(self.unit_list): # check here instead of at the top in case
                                                           # changing the unit list length introduces a bug
                      finished = True