code: def _get_longest_hl(self, highlights):
          
          len_dict = OrderedDict()
          for hl in highlights:
              # dummy tags to make it valid xml
              dummy_xml = "<p>" + hl + "</p>"
              try:
                  element_tree = ET.fromstring(dummy_xml)
                  hl_length = 0
                  for emph in element_tree.findall('em'):
                      hl_length += len(emph.text)
                  len_dict[hl] = hl_length
              except ET.ParseError:
                  raise ET.ParseError
  
          return max(len_dict, key=len_dict.get)
docs: Given a list of highlighted text, returns the
          longest highlight
          For example:
          [
              "<em>Muscle</em> <em>atrophy</em>, generalized",
              "Generalized <em>muscle</em> degeneration",
              "Diffuse skeletal <em>">muscle</em> wasting"
          ]
          and returns:
              <em>Muscle</em> <em>atrophy</em>, generalized
  
          If there are mutliple matches of the same length, returns
          the top (arbitrary) highlight
          :return: