code: def read(self):
          
  
          self.found_visible = False
  
          is_multi_quote_header = self.MULTI_QUOTE_HDR_REGEX_MULTILINE.search(self.text)
          if is_multi_quote_header:
              self.text = self.MULTI_QUOTE_HDR_REGEX.sub(is_multi_quote_header.groups()[0].replace('\n', ''), self.text)
  
          # Fix any outlook style replies, with the reply immediately above the signature boundary line
          #   See email_2_2.txt for an example
          self.text = re.sub('([^\n])(?=\n ?[_-]{7,})', '\\1\n', self.text, re.MULTILINE)
  
          self.lines = self.text.split('\n')
          self.lines.reverse()
  
          for line in self.lines:
              self._scan_line(line)
  
          self._finish_fragment()
  
          self.fragments.reverse()
  
          return self
docs: Creates new fragment for each line
              and labels as a signature, quote, or hidden.
  
              Returns EmailMessage instance