Combines adjacent words with the same stem into a single unit.

        :param int index: Index of Unit in self.unit_list to be combined with the
            subsequent Unit.

        Modifies:
                - self.unit_list: Modifies the .original_text property of the Unit
                    corresponding to the index.  Changes the .end_time property to be the
                    .end_time of the next Unit, as Units with the same stem are considered
                     as single Unit inc lustering. Finally, after extracting the text and timing
                    information, it removes the unit at index+1.

def combine_same_stem_units(self, index):
        """Combines adjacent words with the same stem into a single unit.

        :param int index: Index of Unit in self.unit_list to be combined with the
            subsequent Unit.

        Modifies:
                - self.unit_list: Modifies the .original_text property of the Unit
                    corresponding to the index.  Changes the .end_time property to be the
                    .end_time of the next Unit, as Units with the same stem are considered
                     as single Unit inc lustering. Finally, after extracting the text and timing
                    information, it removes the unit at index+1.

        """

        if not self.quiet:
            combined_word = ""
            for word in self.unit_list[index:index + 2]:
                for original_word in word.original_text:
                    combined_word += " " + original_word
            print combined_word.strip(), "-->","/".join(combined_word.split())

        # edit word list to reflect what words are represented by this unit
        self.unit_list[index].original_text.append(self.unit_list[index + 1].text)

        #start time is the same. End time is the end time of the LAST word
        self.unit_list[index].end_time = self.unit_list[index + 1].end_time

        # remove word with duplicate stem
        self.unit_list.pop(index + 1)