code: def _get_lines_from_node_text(cls, node):
          
          # TODO more robust parsing
          from lxml import etree
          parts = ([node.text] + list(chain(*([etree.tostring(c, with_tail=False), c.tail] for c in node.getchildren()))) + [node.tail])
          parts = [gf.safe_unicode(p) for p in parts]
          parts = [p.strip() for p in parts if not p.startswith(u"<br ")]
          parts = [p for p in parts if len(p) > 0]
          uparts = []
          for part in parts:
              uparts.append(gf.safe_unicode(part))
          return uparts
docs: Given an ``lxml`` node, get lines from ``node.text``,
          where the line separator is ``<br xmlns=... />``.